开发者

restarting a (audio) loop after it has finished

I want to play an audio loop by turning on a switch but i do not want the loop to end until the switch is turned off. 开发者_如何学PythonWhen the loop ends i want it to simply start back at the beginning as to be continuos.


Try something like this. Note the -1 tells the music to repeat indefinitely:

Import this file at the top of your file:

#import <AVFoundation/AVFoundation.h>

Then to use it:

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:resourcePath ofType:@"caf"];

NSError *activationError = nil;
NSError *audioPlayerInitError = nil;
[[AVAudioSession sharedInstance] setActive: YES error:&activationError];

NSURL *newURL = [NSURL fileURLWithPath:soundFilePath];
AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:newURL error:&audioPlayerInitError];

[newPlayer prepareToPlay];
[newPlayer setVolume:.8];
[newPlayer setNumberOfLoops:-1]; // -1 means play indefintely
[newPlayer setDelegate: self];
[newPlayer play];
[newPlayer release];

And then to stop it you would do:

if ([newPlayer isPlaying]) {
    [newPlayer stop];
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜