Как мне указать время между циклами в AVAudioPlayer? - PullRequest
0 голосов
/ 20 декабря 2011

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

NSURL *url = [NSURL fileURLWithPath:
         [NSString stringWithFormat:@"%@/Metronome-Sound.mp3", 
         [[NSBundle mainBundle] resourcePath]]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];

audioPlayer.numberOfLoops = -1;
[audioPlayer play];

1 Ответ

1 голос
/ 20 декабря 2011

Так как в iPhone больше нет API.Один из самых простых способов - использовать [NSThread sleepForTimeInterval:] в методе делегата -(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag

EDIT

Простой файл .h после имени класса реализует делегат, подобный этому<AVAudioPlayerDelegate>

Затем в файле .m реализуйте метод делегата, как показано ниже

-(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
    [NSThread sleepForTimeInterval:5.0];
}
...