Ich möchte einen aufgenommenen Sound 3-mal loopen, möchte aber eine Sekunde Stille zwischen den Loops, wie kann ich das tun? Mein Code für play_button:AVFoundation: Hinzufügen von Stillepausen zwischen den Wiedergabeschleifen
-(IBAction) play_button_pressed{
AVAudioPlayer * avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:recordedTmpFile error:&error];
[avPlayer setNumberOfLoops: 2];
[avPlayer play];
}
1) Alles, was ich zu dieser Methode hinzufügen kann diese eine Sekunde Stille hinzufügen?
2) Wenn nicht, gibt es eine Möglichkeit, der eigentlichen Aufnahme eine Sekunde Stille hinzuzufügen?
EDIT: Danke; Ich habe eine Lösung gefunden, die den Ton einmal mit einer Pause von 2 Sekunden wiederholt; Es ist jedoch keine unendliche Schleife, kannst du sagen, was ich vermisse?
-(IBAction) play_button_pressed{
AVAudioPlayer * avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:recordedTmpFile error:&error];
//[avPlayer setNumberOfLoops: 2];
avPlayer.delegate = self;
[avPlayer prepareToPlay];
[avPlayer play];
}
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)avPlayer successfully:(BOOL)flag
{
NSLog(@"audioPlayerDidFinishPlaying");
tm = [NSTimer scheduledTimerWithTimeInterval:2.0
target:self
selector:@selector(waitedtoplay)
userInfo:nil
repeats:NO];
}
-(void) waitedtoplay
{
AVAudioPlayer * avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:recordedTmpFile error:&error];
[tm invalidate];
[avPlayer prepareToPlay];
[avPlayer play];
NSLog(@"waitedtoplay");
}
Vielen Dank, Shin! – MikeDaMike