我正在使用调用方法的UIButton播放音频片段(请参阅下面的代码)。我试图弄清楚如何编写一个语句来检测音频是否正在运行,如果正在播放音频文件,则禁用/隐藏UIButton。
目前,如果您继续触摸播放按钮,则会播放多个音频剪辑实例。
-(void) audioMethod {
NSString *path = [[NSBundle mainBundle] pathForResource:@"affs" ofType:@"mp3"];
theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.delegate=self;
theAudio.numberOfLoops = -1;
[theAudio prepareToPlay];
[theAudio play];
}
感谢您的帮助
答案 0 :(得分:2)
您只需将调用类声明为AVAudioPlayerDelegate
(正如我所见)。
然后你写了一个方法:
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player
successfully:(BOOL)flag {
myButton.enabled = YES;
}
并在开始播放声音时禁用按钮:
...
theAudio.numberOfLoops = -1;
[theAudio prepareToPlay];
myButton.enabled = NO;
[theAudio play];