共有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]; }*/
转载于:https://blog.51cto.com/fanyuzhen/1315713