我正在开发一个使用AVAudioPlayer
播放声音的应用,我想知道声音播放完毕的时间。我想在声音停止播放时更改图像
这是我用来创建播放器的代码:
NSURL* url = [[NSBundle mainBundle] URLForResource:@"LOLManFace1" withExtension:@"mp3"];
NSAssert(url, @"URL is valid.");
NSError* error = nil;
self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&url];error;
if(!self.player)
{
NSLog(@"Error creating player: %@", error);
}
这是我用来播放声音的代码:
[self.player play];
如何判断播放完成?
提前非常感谢你!
答案 0 :(得分:7)
查看AVAudioPlayerDelegate协议,该协议有一个方法告诉代表什么时候音频播放完成,特别是你要找的是- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
,这里是reference
希望有所帮助
丹尼尔
答案 1 :(得分:1)
很久以前,我很确定你曾经在想过。如果有人读了这篇文章:
1)你的类应该实现AVAudioPlayerDelegate。 (https://developer.apple.com/documentation/avfoundation/avaudioplayerdelegate)
其中一种委托方法是:
audioPlayerDidFinishPlaying:successfully:
2)设置委托:
self.player.delegate = self