Looping Audio in Xcode

前端 未结 1 566
予麋鹿
予麋鹿 2021-01-19 05:03

Im playing a sound in my app that I would like to loop. My research into this hasnt quite sorted my issue.

my code .m

CFBundleRef mainBundle = CFBun         


        
相关标签:
1条回答
  • 2021-01-19 05:30

    Something like this should do your problem:

        NSString* resourcePath = [[NSBundle mainBundle] resourcePath];
        resourcePath = [resourcePath stringByAppendingString:@"/YOURMUSICNAME.mp3"];
        NSLog(@"Path to play: %@", resourcePath);
        NSError* err;
    
        //Initialize our player pointing to the path to our resource
        player = [[AVAudioPlayer alloc] initWithContentsOfURL:
                     [NSURL fileURLWithPath:resourcePath] error:&err];
    
        if( err ){
            //bail!
            NSLog(@"Failed with reason: %@", [err localizedDescription]);
        }
        else{
            //set our delegate and begin playback
            player.delegate = self;
            [player play];
            player.numberOfLoops = -1;
            player.currentTime = 0;
            player.volume = 1.0;
        }
    

    Then if you want to stop it:

    [player stop];
    

    or pause it :

    [player pause];
    

    and also import it in your header file:

    #import <AVFoundation/AVFoundation.h>.   
    

    You should to ofcourse declare it in your header, then synthesize it.

    //.h and add the bold part:

    @interface ViewController : UIViewController <AVAudioPlayerDelegate> {

    AVAudioPlayer *player;
    }
    @property (nonatomic, retain) AVAudioPlayer *player;
    

    //.m

    @synthesize player;
    
    0 讨论(0)
提交回复
热议问题