iOS AVPlayer 后台播放问题自动停止问题 防止应用被后台挂起方法

iOS AVPlayer 后台播放问题自动停止问题 防止应用被后台挂起方法

2016-09-08 16:16 1597人阅读 评论(0) 收藏 举报

 分类:

iOS 开发笔记(37) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

目录(?)[+]

1、创建播放器时创建AVAudioSession

[objc] view plain copy

  1. AVAudioSession *session = [AVAudioSessionsharedInstance];
  2. [session setCategory:AVAudioSessionCategoryPlaybackerror:nil];
  3. [session setActive:YES error:nil];

2、在plist文件中添加字段

Required background modes

在这里添加后台播放:

App plays audio or streams audio/video using AirPlay

3、在设备将要挂起app时添加下面代码

[objc] view plain copy

  1. - (void)applicationWillResignActive:(UIApplication *)application {
  2. if ([MediaPlayerplayer].playStatus == MediaPlayerPlayStatusPlaying) {
  3. UIDevice* device = [UIDevicecurrentDevice];
  4. if ([devicerespondsToSelector:@selector(isMultitaskingSupported)]) {
  5. if(device.multitaskingSupported) {
  6. if(device.multitaskingSupported) {
  7. if ([MediaPlayerplayer].bgTaskId ==UIBackgroundTaskInvalid) {
  8. [MediaPlayerplayer].bgTaskId = [[UIApplicationsharedApplication]beginBackgroundTaskWithExpirationHandler:NULL];
  9. }
  10. }
  11. }
  12. }
  13. }
  14. }

在设备进入前台时添加下面代码

[objc] view plain copy

  1. if ([MediaPlayerplayer].bgTaskId !=UIBackgroundTaskInvalid) {
  2. [[UIApplicationsharedApplication]endBackgroundTask:[MediaPlayerplayer].bgTaskId];
  3. [MediaPlayerplayer].bgTaskId =UIBackgroundTaskInvalid;
  4. }

使用这三步基本可以保证在后台的长时间播放问题,且不会因为后台挂起APP导致的播放停止问题。

时间: 2024-11-03 03:33:05

iOS AVPlayer 后台播放问题自动停止问题 防止应用被后台挂起方法的相关文章

iOS音频的后台播放总结(后台网络请求歌曲,Remote控制,锁屏封面,各种打断)

iOS音频的后台播放总结(后台网络请求歌曲,Remote控制,锁屏封面,各种打断) 2013-12-11 21:13 1416人阅读 评论(0) 收藏 举报  分类: cocoa SDK(139)  目录(?)[+] 在没有网络的情况下,音频的后台播放比较简单,google一下可以搜到很多资料,但是如果每次歌曲的请求都是通过网络,就不成了,有时可以也扛不了几首,这里总结下实现方法,可以实现像电台一样的功能,后台播放,网络请求歌曲,Remote控制,锁屏有封面,电话和听歌打断处理等.   初始化A

iOS音频的后台播放总结

在没有网络的情况下,音频的后台播放比较简单,google一下可以搜到很多资料,但是如果每次歌曲的请求都是通过网络,就不成了,有时可以也扛不了几首,这里总结下实现方法,可以实现像电台一样的功能,后台播放,网络请求歌曲,Remote控制,锁屏有封面,电话和听歌打断处理等.   初始化AudioSession和基本配置 音频播放器采用的AVPlayer ,自己进行了功能封装,暂且不谈,在程序启动的时候需要配置AudioSession,AudioSession负责应用音频的设置,比如支不支持后台,打断等

iOS_33_音乐后台播放

音乐后台播放:三个步骤 在appDelegate中的didEnterBackground方法中实现: app的beginBackgroundTaskWithExpirationHandler方法 开启后台任务,让程序在后台运行 - (void)applicationDidEnterBackground:(UIApplication *)application { // Use this method to release shared resources, save user data, inv

iOS AvPlayer AvAudioPlayer音频的后台播放问题

王桂敏 iOS AvPlayer AvAudioPlayer音频的后台播放问题 iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了.如果音频操作是用苹果官方的AVFoundation.framework实现,像用AvAudioPlayer,AvPlayer播放的话,要实现完美的后台音频播放,依据app的功能需要,可能需要实现几个关键的功能. 首先,播放音频之前先要设置AVAudioSession模式,通常只用来播放的App可以设为AVAudioSessionC

IOS后台运行 之 后台播放音乐

iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了.如果音频操作是用苹果官方的AVFoundation.framework实现,像用AvAudioPlayer,AvPlayer播放的话,要实现完美的后台音频播放,依据app的功能需要,可能需要实现几个关键的功能. 首先,播放音频之前先要设置AVAudioSession模式,通常只用来播放的App可以设为AVAudioSessionCategoryPlayback即可.模式意义及其他模式请参考文档. //后台播放

iOS的影片播放 MediaPlayer 和 AVPlayer(转)

分类: Iphone2013-01-28 16:19 5230人阅读 评论(0) 收藏 举报 在iOS開發上,如果遇到需要播放影片,如開機動畫…,我們很習慣地會使用MediaPlayer來播放影片,因為很方便使用,所以就一直使用下去.但是隨著客戶的要求越來越嚴苛,尤其是過場動畫或互動效果上的表現.所以如果在一些動畫中還挾帶影片一起運算,那勢必機器會跑不動.所以在iOS 4之後,我們可以使用AVPlayer這個類別來進行更細微的操作. 備註: MediaPlayer的影片是放在UIView 裡面,

IOS后台播放音乐

IOS后台播放音乐 博客分类: IOS http://www.apple.com.cn/developer/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AudioandVideoTechnologies/AudioandVideoTechnologies.html#//apple_ref/doc/uid/TP40007072-CH19-SW32 1.首先在工程中导入播放音乐所使用的框架:AV Fo

iOS的影片播放 MediaPlayer 和 AVPlayer

在iOS開發上,如果遇到需要播放影片,如開機動畫-,我們很習慣地會使用MediaPlayer來播放影片,因為很方便使用,所以就一直使用下去.但是隨著客戶的要求越來越嚴苛,尤其是過場動畫或互動效果上的表現.所以如果在一些動畫中還挾帶影片一起運算,那勢必機器會跑不動.所以在iOS 4之後,我們可以使用AVPlayer這個類別來進行更細微的操作. 備註: MediaPlayer的影片是放在UIView 裡面,而AVPlayer是放在AVPlayerLayer裡面,AVPlayerLayer是CALay

iOS音乐后台播放及锁屏信息显示

实现音乐的后台播放.以及播放时,能够控制其暂停,下一首等操作,以及锁屏图片歌曲名等的显示 此实例须要真机调试.效果图例如以下: project下载:githubproject下载 实现步骤: 1.首先改动info.plist 2.其次引入两个须要的框架 #import <AVFoundation/AVFoundation.h> #import <MediaPlayer/MediaPlayer.h> 3.设置播放器及后台播放 - (void)viewDidLoad { [super