您的位置:首页 > 移动开发 > IOS开发

iOS 音频学习(二)

2015-11-22 13:38 483 查看
上一篇 音频学习,主要是学习音效的播放,那么音乐是怎么播放的呢?其实也很简单

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

现在应该可以播放音乐了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: