我在我的父类中发布了一个MediaPlayer成员变量,在我启动之后,它不会调用onCompletion,或者至少onCompletionListener没有捕获它?我的代码看起来有点效果
mediaPlayer = Mediaplayer.create(this, currentSample);
mediaPlayer.start();
Run Code Online (Sandbox Code Playgroud)
代码中的其他地方是我的onCompletionListener
mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
if (repeatFlag == true) {
handler.removeCallbacks(sampleRunnable);
handler.postDelayed(sampleRunnable, delay);
}
}
});
Run Code Online (Sandbox Code Playgroud)
我正在使用处理程序来调用sampleRunnable,因为我想以指定的延迟间隔循环它.但是,onCompletion似乎永远不会被调用.我对此非常肯定,因为我在onCompletion中设置了断点,它永远不会暂停程序,我试图单步执行它似乎永远不会被调用.有任何想法吗?
mediaPlayer.start();
mediaPlayer.setOnCompletionListener(new OnCompletionListener()
{
@Override
public void onCompletion(MediaPlayer arg0)
{
Log.v("Tag", "Completed");
}
});
Run Code Online (Sandbox Code Playgroud)
这个片段工作正常.唯一的区别是"@Override",我不确定"@Override"是否对代码产生影响.
| 归档时间: |
|
| 查看次数: |
6851 次 |
| 最近记录: |