如果用户离开视图,如何停止播放音频

时间:2010-10-09 15:29:13

标签: iphone objective-c core-audio

我有一个用户点击一个视图时播放的音频文件。我的问题是,如果他们移动到另一个视图,音频继续播放。如果用户不再使用该视图,我希望音频停止。

是在viewDidUnload方法中完成的吗?

这是在15秒延迟后播放音频的代码:

-(void)startPlaying {

    [NSTimer scheduledTimerWithTimeInterval:15 target:self selector:@selector(startPlaying) userInfo:nil repeats:NO];


    NSString *audioSoundPath = [[ NSBundle mainBundle] pathForResource:@"audio_file" ofType:@"caf"];

    CFURLRef audioURL = (CFURLRef) [NSURL fileURLWithPath:audioSoundPath];
    AudioServicesCreateSystemSoundID(audioURL, &audioID);
    AudioServicesPlaySystemSound(audioID);
}

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

-(void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    // Stop Sound
}

答案 1 :(得分:0)

- (void)viewWillDisappear:(BOOL)animated {     [super viewWillDisappear:animated];

AudioServicesDisposeSystemSoundID(audioID);

}