воспроизведение аудиофайла через некоторое время - PullRequest
4 голосов
/ 08 октября 2010

У меня есть аудиофайл, который я хочу начать воспроизводить с 20-секундной задержкой, после того, как пользователь увидел, как воспроизводятся некоторые анимации и т. Д. *

Кто-нибудь знает, как мне поступить?У меня воспроизводится 5 анимаций, после чего я хотел бы начать воспроизведение аудиофайла.Все это будет повторяться до тех пор, пока пользователь не закроет приложение.

Вот мой код, который воспроизводит аудиофайл.Я могу заставить его играть, если кнопка нажата или на viewDidLoad, это прекрасно работает.

NSString *audioSoundPath = [[ NSBundle mainBundle] pathForResource:@"audio_file" ofType:@"caf"];
CFURLRef audioURL = (CFURLRef) [NSURL fileURLWithPath:audioSoundPath];
AudioServicesCreateSystemSoundID(audioURL, &audioID); 

AudioServicesPlaySystemSound(audioID);

спасибо за любую помощь

Ответы [ 2 ]

3 голосов
/ 08 октября 2010

Если вы знаете, что всегда будет ровно 20 секунд, тогда вы можете использовать NSTimer для вызова метода, запускающего аудио:

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


-(void)startPlaying {

    NSString *audioSoundPath = [[ NSBundle mainBundle] pathForResource:@"audio_file" ofType:@"caf"];
    CFURLRef audioURL = (CFURLRef) [NSURL fileURLWithPath:audioSoundPath];
    AudioServicesCreateSystemSoundID(audioURL, &audioID);
    AudioServicesPlaySystemSound(audioID);
}
2 голосов
/ 08 октября 2010

Вы также можете использовать

[self performSelector: @selector(playSound:) withObject: audioURL afterDelay: 20.0f];

...