共有4个步骤,一个注意事项
步骤一:在resource文件夹下找到该项目的info.plist添加一个
Required background modes 的数组
并在下面添加一个元素,其值为
App plays audio
步骤二:
需要导入相应的framework和头文件
#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>
步骤三:
//禁止程序运行时自动锁屏
        [[UIApplicationsharedApplication]setIdleTimerDisabled:YES];
步骤四:
       AVAudioSession *audioSession = [AVAudioSessionsharedInstance];
       NSError *err =nil;
        [audioSession setCategory :AVAudioSessionCategoryPlayAndRecorderror:&err];
       if(err)
        {
           NSLog(@"audioSession: %@ %d %@", [errdomain], [errcode], [[erruserInfo]description]);
             
        }
        [audioSessionsetActive:YESerror:&err];
        err =nil;
       if(err)
        {
           NSLog(@"audioSession: %@ %d %@", [errdomain], [errcode], [[erruserInfo]description]);
              
        }
          
          
          
          
       NSString * musicFilePath = [[NSBundlemainBundle]pathForResource:@"初音ミク-World Is Mine" ofType:@"mp3"];      //创建音乐文件路径
       NSURL * musicURL= [[NSURLalloc]initFileURLWithPath:musicFilePath];
          
       AVAudioPlayer * thePlayer  = [[AVAudioPlayeralloc]initWithContentsOfURL:musicURLerror:nil];
          
        [thePlayerplay];
        [thePlayersetVolume:1];  //设置音量大小
        thePlayer.numberOfLoops = -1;//设置音乐播放次数  -1为一直循环
          
        [musicURLrelease];
        [thePlayerrelease];
注意事项:
注意模拟器是不能展示后台效果的,不要实现了功能还以为没实现,请用真机测试
//播一半的歌曲退出后台后停止
    /*MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
     MPMusicPlaybackState playbackState = musicPlayer.playbackState;
     if (playbackState == MPMusicPlaybackStateStopped || playbackState == MPMusicPlaybackStatePaused) {
     [musicPlayer play];
     } else if (playbackState == MPMusicPlaybackStatePlaying) {
     [musicPlayer pause];
     }*/