2011-07-28 70 views
0

所以,我不斷收到此錯誤:錯誤設置數據源

07-27 17:13:13.817: INFO/My Music Test(11215): Initializing: Song Path - /mnt/sdcard/music/Changing.mp3 
07-27 17:13:13.817: ERROR/My Music Test(11215): Error setting data source! 
07-27 17:13:13.817: WARN/System.err(11215): java.lang.IllegalStateException 
07-27 17:13:13.817: WARN/System.err(11215):  at android.media.MediaPlayer.setDataSource(Native Method) 
07-27 17:13:13.817: WARN/System.err(11215):  at com.laytproducts.mymusictest.Game.initGame(Game.java:229) 
07-27 17:13:13.817: WARN/System.err(11215):  at com.laytproducts.mymusictest.Game$2.onClick(Game.java:258) 
07-27 17:13:13.817: WARN/System.err(11215):  at android.view.View.performClick(View.java:2408) 
07-27 17:13:13.817: WARN/System.err(11215):  at android.view.View$PerformClick.run(View.java:8818) 
07-27 17:13:13.817: WARN/System.err(11215):  at android.os.Handler.handleCallback(Handler.java:587) 
07-27 17:13:13.817: WARN/System.err(11215):  at android.os.Handler.dispatchMessage(Handler.java:92) 
07-27 17:13:13.817: WARN/System.err(11215):  at android.os.Looper.loop(Looper.java:143) 
07-27 17:13:13.817: WARN/System.err(11215):  at android.app.ActivityThread.main(ActivityThread.java:4701) 
07-27 17:13:13.817: WARN/System.err(11215):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-27 17:13:13.827: WARN/System.err(11215):  at java.lang.reflect.Method.invoke(Method.java:521) 
07-27 17:13:13.827: WARN/System.err(11215):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
07-27 17:13:13.827: WARN/System.err(11215):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
07-27 17:13:13.827: WARN/System.err(11215):  at dalvik.system.NativeStart.main(Native Method) 

由於沒有什麼不妥的路徑必須有一些錯誤,我怎麼建立的MediaPlayer。這是第一次,但是當我嘗試播放不同的歌曲時,我得到這個錯誤。

代碼爲結尾的MediaPlayer:

 mp.stop(); 
     mp.release(); 

代碼首發:

 mp.setDataSource(currentSongPath);//Error is here 
     mp.setVolume(100f, 100f); 

     mp.prepare(); 
     Random mpRandom = new Random(27); 
     int maxDur = mp.getDuration() - 30000; 
     mpStartPos = mpRandom.nextInt(maxDur); 
     mp.seekTo(mpStartPos); 
     Log.i("My Music Test","Initializing: Start Pos - " + mpStartPos); 
     mp.start(); 

我一直在編碼約6個小時了,現在這樣最有可能的,我失去了一些東西真的很愚蠢。

謝謝

回答

2

在調用release()之後,對象不再可用。您在設置數據源之前是否調用了新的MediaPlayer?

+2

是的,我改變它重置(),它修復了它。我不能發佈自己的答案,因爲不到100代表?無論如何,我給你最好的答案,因爲你張貼XD我只是累了,犯了愚蠢的錯誤 – Brandon