перезапуск (аудио) цикла после его завершения - PullRequest
0 голосов
/ 29 марта 2011

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

1 Ответ

0 голосов
/ 30 марта 2011

Попробуйте что-нибудь подобное.Обратите внимание, что -1 говорит музыке повторяться бесконечно:

Импортируйте этот файл вверху вашего файла:

#import <AVFoundation/AVFoundation.h>

Затем используйте его:

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:resourcePath ofType:@"caf"];

NSError *activationError = nil;
NSError *audioPlayerInitError = nil;
[[AVAudioSession sharedInstance] setActive: YES error:&activationError];

NSURL *newURL = [NSURL fileURLWithPath:soundFilePath];
AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:newURL error:&audioPlayerInitError];

[newPlayer prepareToPlay];
[newPlayer setVolume:.8];
[newPlayer setNumberOfLoops:-1]; // -1 means play indefintely
[newPlayer setDelegate: self];
[newPlayer play];
[newPlayer release];

А затем, чтобы остановить это, вы должны сделать:

if ([newPlayer isPlaying]) {
    [newPlayer stop];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...