gpt4 book ai didi

ios - 持续时间不随 AVPlayer currentItem 一起提供

转载 作者:行者123 更新时间:2023-11-28 16:02:31 24 4
gpt4 key购买 nike

您好,我正在使用 AVPlayer 进行视频流传输。这就是我为播放所做的。

avPlayer = AVPlayer(url: videoURL! as URL)
playerLayer = AVPlayerLayer(player: avPlayer)
playerLayer.videoGravity=AVLayerVideoGravityResizeAspectFill
avPlayer.play()

现在我想添加一个 UISlider 来在视频播放时移动。所以我是这样做的。

let minimumValue:Float=0.00
sliderBar.minimumValue=minimumValue
playerLayer.frame = self.viewPlayer.bounds

self.viewPlayer.layer.addSublayer(playerLayer)
let duration : CMTime = avPlayer.avPlayer.currentItem!.asset.duration
let seconds : Float64 = CMTimeGetSeconds(duration)

sliderBar.maximumValue=Float(seconds)

但是当我打印 duration 时,这是我的输出

(lldb) po duration

▿ CMTime
- value : 0
- timescale : 0
▿ flags : CMTimeFlags
- rawValue : 17
- epoch : 0

我怎样才能得到这个流媒体视频的持续时间。请帮我。谢谢

最佳答案

 if let duration = avPlayer?.currentItem?.duration {
let seconds = CMTimeGetSeconds(duration)

if seconds.isFinite{
let second = Int(seconds)
let secondsText = second % 60
var secondString = "00"
if secondsText < 10{
secondString = "0\(secondsText)"
}
else{
secondString = "\(secondsText)"
}
let minutesText = String(format: "%02d", Int(seconds) / 60)
let videoLength = "\(minutesText):\(secondString)"
print(videoLength)

}
}

它对我有用。干杯。

关于ios - 持续时间不随 AVPlayer currentItem 一起提供,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40797489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com