как остановить воспроизведение звука, если пользователь покидает вид - PullRequest
1 голос
/ 09 октября 2010

У меня есть аудиофайл, который воспроизводится, когда пользователь нажимает на один вид.Моя проблема в том, что если они переходят в другое представление, звук продолжает воспроизводиться.Я бы хотел, чтобы звук прекратился, если пользователь больше не находится в этом представлении.

Это сделано в методе 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 ]

2 голосов
/ 09 октября 2010
-(void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    // Stop Sound
}
0 голосов
/ 19 января 2012

- (void) viewWillDisappear: (BOOL) анимированный {[super viewWillDisappear: animated];

AudioServicesDisposeSystemSoundID(audioID);

}

...