swift – 在iOS 11上滑动时AVPlayerViewController黑屏
发布时间:2020-12-14 05:25:41 所属栏目:百科 来源:网络整理
导读:我正在使用AVPlayerViewController在iPad-App上播放视频文件(H.264,AAC,MP4-Container). 一切都在iOS 10中运行.而且在iOS 11中它正确播放视频. 但是在iOS 11中,当我开始向任何方向滑动时,它会立即使视频变黑并且还会使音频静音.它还会在底部的时间轴旁边显示
我正在使用AVPlayerViewController在iPad-App上播放视频文件(H.264,AAC,MP4-Container).
一切都在iOS 10中运行.而且在iOS 11中它正确播放视频. 但是在iOS 11中,当我开始向任何方向滑动时,它会立即使视频变黑并且还会使音频静音.它还会在底部的时间轴旁边显示一个加载指示器. 它也忽略了allowsPictureInPicturePlayback属性,因此它不会在iOS 11上显示PIP-Button. 这是我使用的代码: avPlayerController = AVPlayerViewController() avPlayerController?.showsPlaybackControls = true avPlayerController?.allowsPictureInPicturePlayback = true avPlayerController?.player = AVPlayer(url: videoUrl as URL) avPlayerController?.player?.play() self.present(self.avPlayerController!,animated: true,completion: nil) avPlayerController?.player?.actionAtItemEnd = AVPlayerActionAtItemEnd.none NotificationCenter.default.addObserver(self,selector: #selector(onVideoCompleted),name: NSNotification.Name.AVPlayerItemDidPlayToEndTime,object: self.avPlayerController!.player?.currentItem) 此功能可在视频结束时关闭视频播放器: func onVideoCompleted(notification:Notification) { self.avPlayerController?.player = nil self.avPlayerController?.dismiss(animated: true,completion: nil) } 当屏幕黑屏时,我在控制台中看到了这个: AVOutputDeviceDiscoverySession (FigRouteDiscoverer) >>>> -[AVFigRouteDiscovererOutputDeviceDiscoverySessionImpl outputDeviceDiscoverySessionDidChangeDiscoveryMode:]: Setting device discovery mode to DiscoveryMode_Presence (client: MyAppName)
好的,我发现了错误:
要在按“完成”时关闭Airplay视频播放,我使用了以下代码: override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) if avPlayerController?.isBeingDismissed ?? false { avPlayerController?.player = nil } } 但是对于iOS 11,Apple添加了一项功能,通过轻扫手势关闭视频播放器.因此,当我滑动时,会调用viewWillAppear函数.将此代码放在viewDidAppear中修复此问题并保留AirPlay-Fix. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 原型JSF更新验证失败后不起作用
- 3.5 Swift数组和Slice swift3.0 已经不要 Slice了
- reactjs – React:如何将道具从孩子传递给父母到另一个孩子
- 《Java编程思想》学习笔记5——正则表达式量词匹配
- 如何在Swift中检查NSDecimalNumber.zero()
- C#根据时间产生有序的GUID编码
- Swift – 将Nil作为带有可选参数的泛型函数的参数
- swift – 在NSView上检测鼠标左键和右键
- 06_NoSQL数据库之Redis数据库:Redis的高级应用之登录授权和
- ruby-on-rails – Capybara :: ElementNotFound:用于jquer