Android Media Player Restart Audio After Calling Stop

陌路散爱 提交于 2019-12-04 02:53:55

问题


I'm able to stream audio and stop it without any problem, but when I try to start it again after stop, it doesn't start and I get an IllegalState exception.

Here is what I'm doing:

Start Playing

mediaPlayer.setDataSource(PATH);
mediaPlayer.prepare();
mediaPlayer.start();

Stop Playing

mediaPlayer.stop

Now, if I want to start playing again the same media, what will I have to do?

*PATH is the URL of a continuous running radio station.


回答1:


Add this:

mp.reset();
mp.setDataSource(MEDIA_PATH);
mp.prepare();
mp.start();



回答2:


In case you don't have access to the data source in the current scope, you can do:

mp.pause();
mp.seekTo(0);

Then when you do

mp.start();

play will start from the beginning again.

I needed this because I had a button that toggled playing. I had a togglePlayer method in which the datasource was out of scope.




回答3:


you can check the state diagram of mediaplayer http://developer.android.com/reference/android/media/MediaPlayer.html after the mediaplayer stopped, must call prepare, when prepared,and then you can call start method.



来源:https://stackoverflow.com/questions/4486828/android-media-player-restart-audio-after-calling-stop

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!