App 音频实现后台播放、

App 音频实现后台播放

主要步骤:

1、开启对应项目target的 background Modes

2、获取音频会话 (是一个单例, 整个app 都是一个)
3、设置音频会话的 类别(设置当前app 中音频怎样的形式工作)
4、激活音频

具体代码如下:

-(void)activeAudioPlaybackground{
    
    //1. 获取音频会话
    AVAudioSession *audioSession = [AVAudioSession sharedInstance];
    
    //2. 设置会话类别
    NSError *err = nil;
    [audioSession setCategory:AVAudioSessionCategoryPlayback error:&err];
    
    if (err != nil) {
        NSLog(@"音频会话设置后台模式失败: err: %@", err.localizedDescription);
        return;
    }
    
    [audioSession setActive:YES error:&err];
    
    if (err != nil) {
        NSLog(@" 激活 音频会话 后台模式失败: err: %@", err.localizedDescription);
        
    }
}

注意:
以上几部是设置当前app 音频播放模式的必要步骤, 少一步都不能工作。




音频远程事件的监听

效果如下:

一、显示锁频信息

1、获取锁频信息中心
2、创建锁屏信息
3、设置锁屏信息
4、接收远程控制事件

注意:显示锁屏信息的前提
1、完成上面4步的设置
2、开启音频播放
3、手机锁屏
系统会自动识别当前app 是否有在播放音频及锁屏,只有正在播放及锁了屏幕才能看见锁屏信息,否则锁频信息是不可见的.

二、接收远程事件

1、可以监听远程事件的前提
2、在控制器中实现以下方法
3、事件类型对应含义

三、摇一摇 下一首

重写UIResponder 的下面几个方法监听手机的摇一摇事件,
和重写UIRespondertouchesBegan: withEvent: 方法一样

摇一摇开始
-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{
    // 其实只需要,监听摇一摇开始即可, 摇一摇结束和取消不需要监听也可以
}

摇一摇取消
-(void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event{
    
}

摇一摇结束
-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{
    
}

你可能感兴趣的:(经验)