如何在 Swift3 iOS 中以特定时间在 AVPlayer 中播放视频

Posted

技术标签:

【中文标题】如何在 Swift3 iOS 中以特定时间在 AVPlayer 中播放视频【英文标题】:How to Play a video in AVPlayer for a specific duration in Swift3 iOS 【发布时间】:2018-06-12 06:03:29 【问题描述】:

我正在Swift3 中创建一个Video 应用程序。我们在TableView 列表中有Video 文件的列表。对于每个Video,我们提供了Range Slider 选项,供用户选择Range 中的Range。现在我正在尝试为用户选择的特定范围播放Video

我正在使用下面的代码从 4 开始 Video 秒到 8 秒使用CMTimeMake 但播放不正确。

let targetTime:CMTime = CMTimeMake(4, 1)////Video start
self.player?.seek(to: targetTime)

self.player?.currentItem?.forwardPlaybackEndTime = CMTimeMake(8, 1)//Video stop
self.player?.play()

任何人都可以在我做错的地方帮助我。谢谢。

【问题讨论】:

Play a specific part of video的可能重复 【参考方案1】:

不妨试试这个:

let item = AVPlayerItem(url: path) 
let player = AVPlayer(playerItem: item)
player.seek(to: CMTimeMake(4, 1)) 
item.forwardPlaybackEndTime = CMTimeMake(8, 1) 
self.player.play()

编辑:这看起来与原始代码非常相似,减去了 .currentItem 的使用,我猜这可能是问题所在。

【讨论】:

我知道这是一个细微的差别,但这不使用.currentItem,我认为这会导致播放器出现问题。我不确定这是否能解决他们的问题,但对我有用。

以上是关于如何在 Swift3 iOS 中以特定时间在 AVPlayer 中播放视频的主要内容,如果未能解决你的问题,请参考以下文章

如何在swift3中以其他方法更新UITableviewcell标签?

如何在 Swift3 中以秒为单位将字符串更改为分钟?

如何在ios中以编程方式设置两个按钮之间的特定距离[关闭]

如何在swift3中以另一种方法访问UITableView单元格

如何在SWIFT3 XCODE 8.2中的IOS应用程序中的Snackbar的操作中显示特定视图

在 iOS 10 + Swift 3 中以编程方式在我的 WKWebView 上方添加 UILabel