AVPlayerViewController 滑动条在第二个间隔之间跳转

Posted

技术标签:

【中文标题】AVPlayerViewController 滑动条在第二个间隔之间跳转【英文标题】:AVPlayerViewController scrub bar jumps between second intervals 【发布时间】:2016-08-31 12:56:55 【问题描述】:

我已经实现了一个标准的 Swift 视频播放器:-

   let path = NSBundle.mainBundle().pathForResource(assetName, ofType: "m4v")
   let url = NSURL.fileURLWithPath(path!)
   player = AVPlayer(URL: url)
   playerViewController.player = player

使用视频底部的标准 build-it 控制器栏。我注意到在播放过程中,内置的拖拽/进度条(显示视频中已用时间的滑动控件)以秒为间隔跳动。

有没有办法将此控制位置量化为帧间隔?或者让它连续移动,而不是每秒更新和跳跃位置。

【问题讨论】:

【参考方案1】:

是的,这是AVPlayerViewController 的正常行为。它使用UISlider 来显示进度或更新。因此,它将每隔一秒更新一次。它不是UIProgressView,它是线性运行而不是跳跃。它是UISlider,它的默认行为是这样的(跳转)。您可以通过拖动 UIProgressView 无法实现的滑块来向前或向后播放视频。 UIProgressView 通常用于显示任何加载,例如 downloadingwebpageloading 等。因此,AVPlayerViewController 使用 UISlider,它按照默认行为工作。

现在如果你想改变它,那么你应该定制你的AVPlayerViewController 那个无聊而困难的东西。您可以将UIProgressView 与您的自定义播放器一起使用。

您只能使用AVPlayer 播放不会显示滑块、时间等任何内容的视频。它只会显示视频,因此您可以添加您的自定义用户界面,例如进度或滑块。

【讨论】:

以上是关于AVPlayerViewController 滑动条在第二个间隔之间跳转的主要内容,如果未能解决你的问题,请参考以下文章

tvOS 中的 AVPlayerViewController 下拉菜单

iOS:AVPlayerViewController 视图未删除

检测 AVPlayerViewController 完成按钮点击?

AVPlayerViewController 不按 url 播放视频

iOS - 在 AVPlayerViewController 之上添加控件

在 AVPlayerViewController 中点击播放按钮时执行操作