MPNowPlayingInfoCenter踩坑

主要为音频播放设置锁屏界面

代码如下:

        var info = [String:Any]()
        ///标题
        info[MPMediaItemPropertyTitle] = self.currentAudioM?.title ?? " "
        ///作者
//        info[MPMediaItemPropertyArtist] = "wizet"
        //相簿标题
//        info[MPMediaItemPropertyAlbumTitle] = "相册标题"
        ///封面
//        let artWork = MPMediaItemArtwork(boundsSize: image!.size, requestHandler: { (size) -> UIImage in return image! })
//        info[MPMediaItemPropertyArtwork] = artWork
        //当前播放进度 (会被自动计算出来,自动计算与MPNowPlayingInfoPropertyPlaybackRate设置的速率正相关)
        let currentPlayDuration = TimeInterval(self.player.currentPlayDuration)
        info[MPNowPlayingInfoPropertyElapsedPlaybackTime] = currentPlayDuration
        //调整外部显示的播放速率正常为1、一般都是根据内部播放器的播放速率作同步,一般不必修改
        //  info[MPNowPlayingInfoPropertyPlaybackRate] = NSNumber(value: 1)
        //播放总时间 由当前播放的资源提供
//        let v1 = TimeInterval(self.player.duration-self.player.currentPlayDuration)
        let duration = TimeInterval(self.player.duration)
        info[MPMediaItemPropertyPlaybackDuration] = duration
    
        MPNowPlayingInfoCenter.default().nowPlayingInfo = info

坑1:希望播放结束后,锁屏控制界面消失

A: UIApplication.shared.endReceivingRemoteControlEvents()实现,实际会经常出现不能消失的问题,猜想:beginReceivingRemoteControlEvents和endReceivingRemoteControlEvents可能有对应,所以,在每次beginReceivingRemoteControlEvents操作前,调用endReceivingRemoteControlEvents。

代码如下

            UIApplication.shared.endReceivingRemoteControlEvents()
            UIApplication.shared.beginReceivingRemoteControlEvents()
            self.setPlayerNowPlayingInfo()

 

 

 

 

转载于:https://www.cnblogs.com/iOSDeng/p/9529087.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值