ios-后台播放视频、直播流

关于ios-后台播放

  1. 后台播放的不是新的技术;
  2. 后台播放在音乐播放器上得到了广泛的运用;
  3. 想了解和实现的原因:看到B站的视频mp4,直播流都可以后台播放(ps:音频);
  4. 从开发者角度来说不是都会遇见这样的功能,仅做积累;

了解Background Modes后台模式、从固件获取信息

  1. Background Modes提供的功能有:实现播放声音、提供位置信息、远程推送、提供Voice-over-IP服务从固件获取信息等;
  2. 针对这篇文章关注:Audio.Airplay and Picture in Picture,后台播放视频,直播流(ps:音频)

后台播放代码实现

- (void)applicationWillResignActive:(UIApplication *)application {
    // *让app接受远程事件控制,及锁屏是控制版会出现播放按钮
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    // *后台播放代码
    AVAudioSession*session=[AVAudioSession sharedInstance];
    [session setActive:YES error:nil];
    [session setCategory:AVAudioSessionCategoryPlayback error:nil];
}

关于后台长时间播放的问题

  1. app的后台运行时间是有限的;
  2. 耗尽之前没有调用endBackgroundTask:方法来结束相应的后台任务,系统就会杀掉这个app;
UIBackgroundTaskIdentifier bgTaskIdentifier;
// *手动调用该方法
bgTaskIdentifier  = [application beginBackgroundTaskWithExpirationHandler:^{
     //标记指定的后台任务完成
      [[UIApplication sharedApplication]endBackgroundTask:bgTaskIdentifier];
       //销毁后台任务标识符
      bgTaskIdentifier=UIBackgroundTaskInvalid;
}]; 

[TOC]

你可能感兴趣的:(ios-后台播放视频、直播流)