iOS音视频篇: 音频学习(二)

上一篇 音频学习,主要是学习音效的播放,那么音乐是怎么播放的呢?其实也很简单

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 

  现在应该可以播放音乐了。

 

posted @ 2015-11-22 13:38  gallon  阅读(259)  评论(0)    收藏  举报