如何检测声音文件何时完成?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检测声音文件何时完成?相关的知识,希望对你有一定的参考价值。

我在广播接收器活动中使用此代码播放声音文件:

notification.sound = Uri.parse("android.resource://emad.app/raw/seven_chimes");

我想检测这个文件何时播放完毕。

我尝试了这样的循环,但我认为这对媒体播放器只有好处,因为即使我确定声音文件仍在播放,它总是=假:

/*
 * Stay here until the chime sound is finished.
 */
   while (manager.isMusicActive())
   

你能告诉我应该用什么代替manager.isMusicActive()吗?

答案

您可以使用MediaPlayer类并添加一个完成侦听器,以便在声音播放完毕时激活

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();
另一答案

尝试使用服务播放音乐..播放一次后,然后停止服务,你可以在onDestroy()服务方法上添加你的程序..希望它有帮助:)

以上是关于如何检测声音文件何时完成?的主要内容,如果未能解决你的问题,请参考以下文章

montouch 检测声音何时播放完毕

如何检测 Cordova WebView 何时完全完成加载?

如何检测 UINavigationController 动画何时完成?

检测 WKWebView 何时完成加载

如何检测用户何时在 Swift 中完成移动 Range 滑块

在 C# 中确定声音何时完成播放