Android - MediaPlayer继续前进

时间:2015-02-11 08:51:17

标签: java android

我在我的应用中使用了这段代码

 mp.start();

    play=mp.isPlaying();

    while(play)
    {
        play=mp.isPlaying();
    }

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

当我调试(我使用真正的Android设备)时,日志窗口会继续说" V / Mediaplayer:isPlaying:1"。它在关闭应用程序时也打印此字符串。我确定我的应用程序在播放文件后退出循环,因为它在此部分之后执行所有指令。我也尝试使用OnCompletionListener,但它并没有像它应该的那样工作。

我在AsyncTask中执行此代码,可能是这个问题吗?

1 个答案:

答案 0 :(得分:0)

虽然循环很糟糕但你不需要它,只需使用MediaPlayer回调或创建你自己的

link of android mediaPlayer official documentation

接下来你不能在之后调用.start()然后停止()。也许这是一个测试,但如果它是实时代码则可能是个问题。

OnCompletionListener仅在回放轨道的末尾为您提供回调

为了跟踪播放器的状态,您可以使用枚举和界面进行自己的回调