Dr *_*rge 5 java android ringtone
我想检测铃声何时播放完毕,但 AndroidRingtone
类没有OnCompletionListener
像该类MediaPlayer
那样的 。具体来说,在实践中,我按以下方式播放铃声:
Ringtone r = RingtoneManager.getRingtone(
getApplicationContext(), soundUri);
r.play();
Run Code Online (Sandbox Code Playgroud)
我想捕捉铃声播放器的完成事件(如果它甚至启动了这个事件......),就像人们可以在课堂上做的那样MediaPlayer
。我知道该类Ringtone
提供了该方法isPaying
,但我不喜欢定期检查它直到返回 false 的解决方案...另一方面,通过该类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();
Run Code Online (Sandbox Code Playgroud)
那么,如何使用铃声管理器执行相同的操作呢?有可能吗?Ringtone.isPlaying
或者定期检查, 直到返回 false 的解决方案是最好的解决方案吗???
归档时间: |
|
查看次数: |
618 次 |
最近记录: |