如何在android中停止后再次播放流?

时间:2013-04-26 22:25:59

标签: android

我在android中创建了一个应用程序,我的问题是当我播放流时它播放效果不错但是当我点击停止按钮然后点击播放按钮然后歌曲没有播放,怎么做?如果有人知道,请帮助我。下面是我写的代码: -

    // method for play stream after stop it.
public void startradio(View v) {
        try{
            if(mp.isPlaying()){
                return;
            }
               mp.start();
        } catch(IllegalStateException ex){
            ex.printStackTrace();
        } 
    }

// method for stop stream.
public void stopradio(View v) {
    if(mp.isPlaying()){
        mp.stop();
    }
    mp.release();
}

1 个答案:

答案 0 :(得分:0)

@ Eluvatar的评论非常接近,但没有雪茄。

如果你这样做,你的应用仍然会处于错误的状态,并且需要在再次调用start()之前调用prepare()。你应该看看the event cycle for MediaPlayer

换句话说,可能的改变是

// method for play stream after stop it.
public void startradio(View v) {
        try{
            if(mp.isPlaying()){
                return;
            }
            mp.prepare();
            mp.start();
        } catch(IllegalStateException ex){
            ex.printStackTrace();
        } 
    }

// method for stop stream.
public void stopradio(View v) {
    if(mp.isPlaying()){
        mp.stop();
    }

}