美文网首页
视频后台播放

视频后台播放

作者: 白雪天枫 | 来源:发表于2018-07-27 17:47 被阅读231次

1. 修改 Info.plist

在 Info.plist 中添加 Required background modes ,并在下面添加一项 App plays audio or streams audio/video using AirPlay

2. 修改 Capabilities

在 Capabilities 中开启 Background Modes    勾选

3. 修改 AppDelegate

在 AppDelegate 的 application: didFinishLaunchingWithOptions: 方法中,添加以下代码:1234// 告诉app支持后台播放AVAudioSession *audioSession = [AVAudioSession sharedInstance];[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];[audioSession setActive:YES error:nil];


二、后台播放视频


1. 退到后台时移除 playerLayer 上的 player在 viewController 中添加退到后台监听:

NSNotificationCenter *center = [NSNotificationCenter defaultCenter];[center addObserver:self selector:@selector(removePlayerOnPlayerLayer) name:UIApplicationDidEnterBackgroundNotification object:nil];

移除 player :

- (void)removePlayerOnPlayerLayer { _playerLayer.player = nil;}

2. 回到前台时重新添加 player在 viewController 中添加回到前台监听:

NSNotificationCenter *center = [NSNotificationCenter defaultCenter];[center addObserver:self selector:@selector(resetPlayerToPlayerLayer) name:UIApplicationWillEnterForegroundNotification object:nil];

重新添加 player :

- (void)resetPlayerToPlayerLayer { _playerLayer.player = _player;}

二、自定义控制台

#pragma mark - 锁屏界面信息相关

- (void)updateLockScreen

{

    NSMutableDictionary *songDict = [NSMutableDictionary dictionary];


    // 音频名字

    [songDict setObject:@"她来听我的演唱会"  forKey:MPMediaItemPropertyTitle];


    // 歌手

    [songDict setObject:@"张学友"  forKey:MPMediaItemPropertyArtist];


    // 歌曲的总时间

    [songDict setObject:@(200) forKeyedSubscript:MPMediaItemPropertyPlaybackDuration];


    // 当前时间

    [songDict setObject:@(30) forKey:MPNowPlayingInfoPropertyElapsedPlaybackTime];


    // 播放速率

    [songDict setObject:@(1.0) forKey:MPNowPlayingInfoPropertyPlaybackRate];


    // 锁屏音频封面

    MPMediaItemArtwork *artwork = [[MPMediaItemArtwork alloc] initWithImage:[UIImage imageNamed:@"Yosemite00.jpg"]];

    [songDict setObject:artwork forKey:MPMediaItemPropertyArtwork];


    // 设置控制中心歌曲信息

    [[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songDict];

    if (@available(iOS 11.0, *)) {

        //判断是不是iOS 11 //根据当前播放器的播放状态显示控制器中心的播放状态

              [MPNowPlayingInfoCenter defaultCenter].playbackState = MPNowPlayingPlaybackStatePaused;


    }

}

相关文章

  • 视频后台播放

    1. 修改 Info.plist 在Info.plist中添加Required background modes,...

  • IOS音频和视频

    使用AVAudioPlayer类播放音频 掌握后台播放音乐 自定义后台任务 使用MPMoviePlayer播放视频...

  • iOS AVPlayer之后台播放

    很多开发者以为AVPlayer不能在后台播放视频:应用退到后台,但能播放视频的声音(ps:不是通过切换相同的音频来...

  • iOS 封装控件之音视频播放

    音频播放 视频播放 本地播放、网络播放、边下边播 缓存进度 播放进度 自动播放 音频后台播放 全屏播放(demo中...

  • webView 播放视频退到后台也能正常播放

    问题:我们使用WebView播放音乐或视频(比如油管视频)前台播放一直很正常,但是比较费电进入后台后就会暂停播放所...

  • iOS-AVPlayer封装相关

    本篇涵盖AVPlayer相关知识点、封装自定义视频播放器等. 1.AVAudioPlayer本地音乐播放、后台播放...

  • 微信小程序如何播放腾讯视频?

    1.背景 因为当时需要做视频播放,后台存放视频文件又不现实。所以,做了一个能解析腾讯视频地址的并播放视频的小程序。...

  • iOS屏幕转屏实现总结

    在最近的开发中测试提交了个Bug:"打开视频播放并将视频横屏播放,将App退到后台,通过widget入口打开App...

  • 后台播放音乐时微信视频或电话进来暂停音乐播放

    最近项目中遇到一个问题,app内音乐后台播放时,如果有电话或者微信视频通话进来,app后台音乐还在播放。这样就造成...

  • iOS 后台运行音乐必看文章

    iOS后台运行之后台播放音乐 必看参考文章:后台播放音乐 后台播放核心代码 电话中断后继续播放核心代码

网友评论

      本文标题:视频后台播放

      本文链接:https://www.haomeiwen.com/subject/uemgmftx.html