我终于让音频与ViewDidLoad循环播放,但是我真的很难让它与ViewDidDissapear一起停止。我已经在该论坛上阅读了thisthis以及许多答案和问题。如果我使用[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/

10-11 03:58