【问题标题】:How to Play a video in AVPlayer for a specific duration in Swift3 iOS如何在 Swift3 iOS 中以特定时间在 AVPlayer 中播放视频
【发布时间】: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()

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

【问题讨论】:

标签: ios video swift3 avfoundation avplayer


【解决方案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,我认为这会导致播放器出现问题。我不确定这是否能解决他们的问题,但对我有用。
猜你喜欢
  • 2017-02-23
  • 1970-01-01
  • 2015-10-16
  • 2012-07-05
  • 1970-01-01
  • 1970-01-01
  • 2014-11-02
  • 1970-01-01
  • 2017-12-10
相关资源
最近更新 更多