我终于让音频与ViewDidLoad循环播放,但是我真的很难让它与ViewDidDissapear一起停止。我已经在该论坛上阅读了this和this以及许多答案和问题。如果我使用[theAudio stop],则会出现错误,而其他大多数教程都将出错。我究竟做错了什么?
我已导入AVFoundation / AVFoundation.h框架并添加了AVAudioPlayerDelegate
- (void)viewDidLoad
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"safariSFX" ofType:@"mp3"];
AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
[theAudio play];
theAudio.numberOfLoops = -1;
[super viewDidLoad];
}
最佳答案
您需要将AVAudioPlayer
实例存储为@property。这样,当ViewWillDisappear
事件发生时,您可以调用[theAudio stop];
。在上面的代码中,您将创建一个本地var,因此以后没有任何引用它的方法。
关于ios - 在ViewDidDissapear上停止音频,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14487733/