我正在广播接收器 Activity 中使用此代码播放声音文件:
notification.sound = Uri.parse("android.resource://emad.app/raw/seven_chimes");
我想检测此文件何时播放完毕。
我尝试了这样的循环,但我认为这只对媒体播放器有好处,因为即使我确定声音文件仍在播放,它总是 = false:
/*
* Stay here until the chime sound is finished.
*/
while (manager.isMusicActive()){
}
你能告诉我应该用什么来代替 manager.isMusicActive()
?
最佳答案
您可以使用 MediaPlayer 类并添加一个 Completion 监听器,以便在声音播放完毕时激活
MediaPlayer mp = MediaPlayer.create(this,Uri.parse("android.resource://emad.app/raw/seven_chimes"));
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
performOnEnd();
}
});
mp.start();
关于android - 您如何检测声音文件何时完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7367997/