AVAudioPlayer 播放进度通知
时间: 2023-07-25 18:38:04 浏览: 313
AVAudioPlayer 播放进度的通知可以通过 AVAudioPlayerDelegate 协议中的方法来实现。具体来说,可以实现以下方法:
```
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag;
```
在这个方法中,可以获取到当前播放器的播放进度,例如:
```
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag{
NSTimeInterval currentTime = player.currentTime;
NSTimeInterval duration = player.duration;
float progress = currentTime / duration;
// 发送播放进度通知
[[NSNotificationCenter defaultCenter] postNotificationName:@"AVAudioPlayerProgressNotification" object:nil userInfo:@{@"progress":@(progress)}];
}
```
在上面的代码中,我们通过获取当前播放器的 currentTime 和 duration 属性,计算出播放进度,并将其作为 userInfo 传递给通知中心。在通知中心的观察者中,可以通过获取 userInfo 中的 progress 值来更新播放进度。
阅读全文