上一篇 音频学习,主要是学习音效的播放,那么音乐是怎么播放的呢?其实也很简单
1. 框架
2. 加载音乐资源并播放
AVAudioPlayer* player = musicDict[fileName]; if (!player) { NSURL* url = [[NSBundle mainBundle] URLForResource:fileName withExtension:nil]; NSCAssert(url != nil, @"fileName not found musics"); NSError* error; player = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error]; if (error) { NSLog(@"load music error"); return; } [musicDict setObject:player forKey:fileName]; } if (player.isPlaying == NO) { [player play]; }
3.暂停 停止操作
[player pause];// 暂停 [player stop];// 停止 [player isplaying];// 是否在播放
好了,现在能播放音乐了,但我们在看其他的应用的时候,一般当应用切换到后台的时候也能播放音乐,那这个又是如何实现的呢?这个只要设置音频的后台播放,具体为:
1> 在后台开启一个任务
- (void)applicationDidEnterBackground:(UIApplication *)application { // 开启后台任务,让音乐继续播放 [application beginBackgroundTaskWithExpirationHandler:nil]; }
2> 设置项目配置文件
3> 设置音频链接会话,这个主要告诉设备如何处理音频事件的
// 设置音频会话类型 AVAudioSession* session = [AVAudioSession sharedInstance]; [session setCategory:AVAudioSessionCategorySoloAmbient error:nil]; [session setActive:YES error:nil];
这里有很多会话类型,如果想详细了解,可参考:http://blog.csdn.net/daiyelang/article/details/16986059
现在应该可以播放音乐了。
原文:http://www.cnblogs.com/16zj/p/4985712.html