简体   繁体   English

如何在iOS中使用AVAudioPlayer进行无限重复

[英]How to do unlimited repetition by using AVAudioPlayer in ios

In my app i am using audio. 在我的应用中,我正在使用音频。 I want to play audio for unlimited time on tapping button. 我想在点击按钮时无限期播放音频。 Is it possible? 可能吗?

AVAudioPlayer has a numberOfLoops method. AVAudioPlayer具有numberOfLoops方法。 Set that to -1 for unlimited repetition. 将其设置为-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]; 调用[self startPlayer]; once, and it will loop forever ! 一次,它将永远循环!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM