iphone - avaudioplayer 完成播放后请求回电或通知

标签 iphone ios objective-c avaudioplayer

我在音频播放器模块中工作,它需要一个音频文件并播放。我正在使用 AvAudioPlayer 播放我的音频文件,它按预期工作,一旦完成音频播放我就会收到回电。到目前为止,我已经通过具有负值的 numberOfLoops 属性实现了循环,这很好。在某些情况下,我需要在当前音频第一次播放完毕后回拨。是否有任何可能的方式让回电或观察员通知我我的音频第一次播放。

我的想法是,我们可以通过运行计时器来实现这一点。什么是最好的方法?

通用: 每次完成音频播放时都期待通知,即使它也有无限循环。

最佳答案

首先让numberofloops=0 使用这个委托(delegate)方法,这样这个方法就会调用, - (void) audioPlayerDidFinishPlaying: (AVAudioPlayer *) appSoundPlayer 成功: (BOOL) flag

然后在该方法中,您可以使 numberofloops= -1 以便您可以获得第一个通知并在循环继续之后。和[玩家游戏]..

如果您在 audioPlayerDidFinishPlaying 中写入 numberofloops= 0 并播放,那么每次 audioPlayerDidFinishPlaying 都会像循环一样调用..您可以获得每个通知..

关于iphone - avaudioplayer 完成播放后请求回电或通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15636908/

相关文章:

iphone - 使用 Alamofire 检索图像时遇到问题,有些图像加载,有些则不加载 (SWIFT)

ios - 如何从iOS中的位置数组中找到5m到10m范围内的最近位置?

iphone - UIButton 导致崩溃

ios - Xcode 中分配检测模板中持久和 transient 列的真正含义

iphone - ZipArchive 库编译错误

ios - 如何将值从一个 View 传递到 iOS 中的另一个 View ?

ios - becomeFirstResponder 后键盘隐藏

ios - iOS 中的相对路径

ios - UICollectionView 具有两列的行和一列的另一行

ios - CoreWLAN 或适用于 IOS 7 的任何其他公共(public) API