我想检测铃声何时播放,但Android Ringtone
类没有OnCompletionListener
类的MediaPlayer
。
具体而言,在实践中,我正在通过以下方式播放铃声:
Ringtone r = RingtoneManager.getRingtone(
getApplicationContext(), soundUri);
r.play();
我想抓住铃声播放器的完成事件(如果它甚至发起这个事件......)就像MediaPlayer
类一样。我知道Ringtone
类提供了方法isPaying
,但我不喜欢定期检查它直到它返回false的解决方案...另一方面,{{1}通过设置MediaPlayer
回调,我们可以通过更简洁的方式检测玩家是否已经完成了某些内容的播放:
OnCompletionListener
那么,我怎样才能使用铃声管理器呢?它甚至可能吗?或者是定期检查final MediaPlayer player = new MediaPlayer();
player.setDataSource(filepath);
player.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
player.release();
}
});
player.prepare();
player.start();
的解决方案,直到它返回false,最好的一个???