2010-10-15 94 views
1

我正在使用调用方法的UIButton播放音频剪辑(请参阅下面的代码)。我试图弄清楚如何编写一个语句来检测音频是否正在运行,如果音频文件正在播放,则禁用/隐藏UIButton。检测音频文件是否正在播放 - iphone

此刻如果您持续触摸音频剪辑播放的多个实例的播放按钮。

-(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

你调用方法[自audioMethod:自我]。 ? – 2011-07-14 00:40:44

回答

2

只需声明调用类为AVAudioPlayerDelegate(我看到你做了)。

然后你写一个方法:

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player 
         successfully:(BOOL)flag { 

    myButton.enabled = YES; 

} 

,当你开始播放声音禁用按钮:说

... 
theAudio.numberOfLoops = -1; 
[theAudio prepareToPlay]; 

myButton.enabled = NO; 

[theAudio play]; 
+0

太好了。非常感谢! – hanumanDev 2010-10-15 10:50:30

+0

我只是试了一下,它完美的作品。再次感谢。 – hanumanDev 2010-10-15 11:02:04

+0

非常欢迎。我很高兴它帮助你。祝你的项目好运。 - 和平 – 2010-10-15 11:08:49