Question

In my app i am using audio. I want to play audio for unlimited time on tapping button. Is it possible?

Was it helpful?

Solution 2

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 !

OTHER TIPS

AVAudioPlayer has a numberOfLoops method. Set that to -1 for unlimited repetition.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top