iOS 9 用于播放直播视频的画中画问题

Posted

技术标签:

【中文标题】iOS 9 用于播放直播视频的画中画问题【英文标题】:iOS 9 Picture in Picture issue for playing live streaming video 【发布时间】:2015-11-12 09:33:22 【问题描述】:

我在画中画模式下播放直播视频时遇到了一个非常奇怪的问题。请参考我的截图:

当我按“暂停”按钮一会儿然后按“播放”按钮时,视频不会开始。

这适用于 VOD。我想知道它有什么问题。

这是我的代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 

    let dest = segue.destinationViewController as! PlayerViewController
    dest.delegate = self
    let url = NSURL(string: "http://mylivestreamurl/playlist.m3u8")
    if let movieUrl = url 
        dest.player = AVPlayer(URL: movieUrl)
        dest.player?.play()
    


func playerViewController(playerViewController: AVPlayerViewController, restoreUserInterfaceForPictureInPictureStopWithCompletionHandler completionHandler: (Bool) -> Void) 

    let currentViewController = navigationController?.visibleViewController
    if currentViewController != playerViewController 
        if let topViewController = navigationController?.topViewController 
            topViewController.presentViewController(playerViewController, animated: true, completion:  () -> Void in
                completionHandler(true)
            )
        
    

有什么想法吗?谢谢。

【问题讨论】:

是否可以在画中画中隐藏播放/暂停按钮? 我的支持。我也有同样的问题。我最初是在一个具有自定义 UI 的播放器中体验它的,所以我认为使用我自己的 AVPlayerLayer 可能存在问题,但是创建一个只有 AVPlayerViewController 的新骨架应用程序会产生相同的结果。从 Wowza 服务器流式传输。点播视频也适合我。只是直播的问题。 【参考方案1】:

我猜想恢复播放所需的视频片段在内容服务器上不再可用,或者您是否检查过?如果 AVPlayer 在暂停时在后台缓冲实时内容,那么恢复是可能的(受本地缓冲区大小的限制),但我认为这不会发生。如果可以在直播时隐藏暂停按钮,那就太好了。我还没有找到办法,至少现在还没有。

【讨论】:

我现在已经用我的应用进行了测试。看来画中画控制器暂停/播放适用于我的实时流。如果我暂停一会儿,播放器会向前跳到当前播放时间。 播放/暂停通过 AVPlayer 在我的应用程序中运行良好。但它不适用于 PiP。

以上是关于iOS 9 用于播放直播视频的画中画问题的主要内容,如果未能解决你的问题,请参考以下文章

uniapp 画中画悬浮窗(视频) Ba-VideoPip

Vue3视频播放器组件Vue3-video-play入门教程

iOS - AVPlayer 音视频播放

如何实现多镜头画中画网络直播

如何实现多镜头画中画网络直播

画中画模式是不是支持奥利奥?