锁屏或按Home键后继续播放音乐
来源:互联网 发布:淘宝网购如何退货 编辑:程序博客网 时间:2024/06/08 11:49
转自:http://blog.csdn.net/freshforiphone/article/details/7326663
参考:
[1]http://www.apple.com.cn/developer/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AudioandVideoTechnologies/AudioandVideoTechnologies.html#//apple_ref/doc/uid/TP40007072-CH19-SW34[2]http://www.cocoachina.com/bbs/read.php?tid-26984.html
[3]http://diwublog.com/archives/89
一般听音乐的app在锁屏状态和按home键后都能继续播放音乐,有些强大的甚至在来短信后能够继续播放,不被中断,比如:百度ting。本文主要介绍锁屏和按home键后仍播放音乐实现。
主要依靠“音频会话”(AVAudioSession)来实现。详细关于AVAudioSession的介绍见参考一。
它可以处理
1)您的音频在Ring/Silent切换过程中是否变为无声
2)在屏幕锁定状态时您的音频是否停止
3)当您的音频开始播放时,iPod音频是继续播放,还是变为无声
更大的音频上下文包括用户所做的改变,比如用户插入耳机,处理Clock和Calendar这样的警告事件,或者处理呼入的电话。通过音频会话,您可以对这样的事件做出恰当的响应。
1.锁屏后仍能继续播放音乐,则只要将下面的代码包含到应用程序中即可
- [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
- [[AVAudioSession sharedInstance] setActive: YES error: nil];
设置了AVAudioSessionCategoryPlayback,表示对于用户切换静音模式或者锁屏 都不理睬,继续播放音乐。并且不播放来自其他app的音乐,当然你可以设置kAudioSessionProperty_OverrideCategoryMixWithOthers 来实现与其他app的音乐混合。
除AVAudioSessionCategoryPlayback外,还有以下其他category。
- NSString *const AVAudioSessionCategoryAmbient;
- NSString *const AVAudioSessionCategorySoloAmbient;
- NSString *const AVAudioSessionCategoryPlayback;
- NSString *const AVAudioSessionCategoryRecord;
- NSString *const AVAudioSessionCategoryPlayAndRecord;
- NSString *const AVAudioSessionCategoryAudioProcessing;
AVAudioSessionCategoryAmbient静音模式或者锁屏下不再播放音乐,和其他app声音混合。
AVAudioSessionCategorySoloAmbient默认模式,静音模式或者锁屏下不再播放音乐,不和其他app声音混合。
AVAudioSessionCategoryRecord不播放音乐,锁屏状态继续录音
AVAudioSessionCategoryPlayAndRecord 播放音乐,并录音
2.按home键后仍能播放
plist 新增Required background modes ,内容设置为App plays audio,如下图所示。
注意这个在simulator上是没有效果的,但在真机上可以work。
另外,看到有人说home情况下,播放完一首歌会暂停,不再继续播放。很挫的方法是用另外一个audioplay播放无声的声音,那么
当你播放完一首歌的时候系统就不会将你的app suspend掉,这样你可以切换到下一首继续播放。
也许有更好的方法,这个只是mark一下。
其实这样就相当于一个后台,要是能把app的icon隐藏掉那就是一个后台,一个伪后台,在苹果不支持后台的时候也许这也算个方法,不过肯定比较费电。
- 锁屏或按Home键后继续播放音乐
- 锁屏或按Home键后继续播放音乐
- 锁屏或按Home键后继续播放音乐
- 锁屏或按Home键后继续播放音乐
- 锁屏或按Home键后继续播放音乐
- WebView加载h5页面播放音乐或视频 返回,按锁屏键,按home键 播放不停止问题
- iOS 语音类App播放自己的录音完毕后,如何重新继续播放音乐
- Android中home键监听一个好用的方法。(按home键后播放器停止播放)
- 后台运行程序时 音乐继续播放
- 后台或者锁屏播放音乐播放,
- Android 横竖屏切换后继续播放Video
- Android 理解生命周期最好例子—按home暂停音乐播放,跳转暂停
- Android_播放本地或网络音乐
- 解决关于如何实现锁屏后继续播放音乐的问题
- Unity中通过场景切换但音乐继续播放
- 解决页面退出 WebView 继续播放视频音乐的问题
- 锁屏显示正在播放的音乐
- iOS锁屏页面控制音乐播放
- a change of clothes
- Sicily 1206 Stack Cylinders
- tomcat启动时自动运行代码
- WPF 圆形Loading 等待画面
- Error:Connection activation failed:Device not managed by NetworkManager
- 锁屏或按Home键后继续播放音乐
- cron表达式详解(Spring定时任务配置时间间隔)
- 文件上传利器SWFUpload使用指南
- 第十六周项目二 用指针玩转字符串-去除第一个单词前空格
- IO相关
- Hyper-V的备份方式——snapshot虚拟机快照
- Linux 2.6 中的文件锁
- C++中值传递、指针传递和引用传递的比较
- 兔子--Android中的五大布局