Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 设置数据源时出错_Java_Android_Media Player_Datasource - Fatal编程技术网

Java 设置数据源时出错

Java 设置数据源时出错,java,android,media-player,datasource,Java,Android,Media Player,Datasource,所以我不断地得到这个错误: 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.Ill

所以我不断地得到这个错误:

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个小时了,所以我很可能错过了一些非常愚蠢的东西

谢谢

调用release()后,该对象不再可用。在设置数据源之前,您是否正在调用新的MediaPlayer?

是的,我将其更改为reset(),并将其修复。我无法发布自己的答案,因为不到100次?无论如何,我会给你最好的答案,因为你张贴XD我只是累了,犯了愚蠢的错误