iOS 后台播放音乐问题记录
来源:互联网 发布:fedora linux镜像下载 编辑:程序博客网 时间:2024/06/02 02:43
1.首先需要将Background Modes开启并选择Audio,
2.在controller中注册后台播放下一首/暂停/前一首的远程监听, 并在viewDidLoad里 [selfbecomeFirstResponder];
UIBackgroundTaskIdentifier _bgTaskId;
//实现一下backgroundPlayerID:这个方法:
+(UIBackgroundTaskIdentifier)backgroundPlayerID:(UIBackgroundTaskIdentifier)backTaskId
{
//设置并激活音频会话类别
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
[session setActive:YES error:nil];
//允许应用程序接收远程控制
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
//设置后台任务ID
UIBackgroundTaskIdentifier newTaskId = UIBackgroundTaskInvalid;
newTaskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:nil];
if(newTaskId != UIBackgroundTaskInvalid && backTaskId != UIBackgroundTaskInvalid) {
[[UIApplicationsharedApplication] endBackgroundTask:backTaskId];
}
return newTaskId;
}
- (void)applicationWillResignActive:(UIApplication *)application {
//开启后台处理多媒体事件
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
AVAudioSession *session=[AVAudioSessionsharedInstance];
[session setActive:YESerror:nil];
//后台播放
[session setCategory:AVAudioSessionCategoryPlaybackerror:nil];
//这样做,可以在按home键进入后台后,播放一段时间,几分钟吧。但是不能持续播放网络歌曲,若需要持续播放网络歌曲,还需要申请后台任务id,具体做法是:
_bgTaskId=[AppDelegatebackgroundPlayerID:_bgTaskId];
}
- iOS 后台播放音乐问题记录
- ios后台播放音乐
- iOS后台播放音乐
- ios 音乐后台播放
- iOS后台播放音乐
- iOS后台播放音乐
- iOS后台播放音乐
- iOS后台播放音乐
- iOS后台播放音乐
- iOS后台播放音乐
- iOS后台播放音乐
- iOS 后台播放音乐
- iOS后台播放音乐
- iOS 后台播放音乐
- iOS 后台播放音乐
- iOS 后台播放音乐
- ios-后台播放音乐
- iOS后台播放音乐
- 数据的位运算
- swift 单例的实现
- oj 1067: 顺序排号
- Jmeter断言-响应断言
- [Leetcode] 161. One Edit Distance 解题报告
- iOS 后台播放音乐问题记录
- Android ContextThemeWrapper应用
- JS工厂模式(工厂函数)、构造函数模式
- 14-1 创建线程()
- JAVA 基础语法(一)——变量以及基本数据类型
- windows下oracle 11g r2 安装过程与卸载详细图解
- Mac 安装 Tomcat
- java实现-hdfs上的文件上传下载(windows)
- 342. Power of Four