问题
In my app i am using audio. I want to play audio for unlimited time on tapping button. Is it possible?
回答1:
Easiest way is to re-play the player when it reaches the end :
-(void)startPlayer {
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"]];
NSError *error;
player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
player.delegate = self;
if (error) {
NSLog(@"Error in audioPlayer: %@", [error localizedDescription]);
} else {
[aPlayer play];
}
}
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)aPlayer successfully:(BOOL)flag {
aPlayer.currentTime = 0;
[aPlayer play];
}
Call [self startPlayer]; once, and it will loop forever !
回答2:
AVAudioPlayer has a numberOfLoops method. Set that to -1 for unlimited repetition.
来源:https://stackoverflow.com/questions/22405959/how-to-do-unlimited-repetition-by-using-avaudioplayer-in-ios