Можно ли принудительно завершить воспроизведение аудиофайла, прежде чем приступить к коду?В приведенном ниже примере я хотел бы, чтобы аудиофайл воспроизводился столько раз, сколько у меня есть элементов в массиве.текущий он заканчивает цикл, играя только один раз.Я использую AVAudioPlayer в структуре AVFoundation.
for (int i = 0; i<[Array count]; i++) {
if ([Array objectAtIndex:i] == @"Red") {
NSLog(@"red");
[self.player play];
}
if ([Array objectAtIndex:i] == @"Blue") {
NSLog(@"blue");
[self.player play];
}
if ([Array objectAtIndex:i] == @"Green") {
NSLog(@"green");
[self.player play];
}
if ([Array objectAtIndex:i] == @"Yellow") {
NSLog(@"yellow");
[self.player play];
}
}
Я также использую метод audioPlayerDidFinishPlaying, чтобы проверить, завершается ли он пять раз, но он достигает этого метода только один раз.
-(void) audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL) completed{
if ((completed) == YES){
NSLog(@"audio finish");
return;
}
}
Можно ли удерживать цикл for на месте во время воспроизведения звука?
теоретически консоль должна выглядеть так: