0
Hallo Ich verwende für Video-Streaming. Das ist, was ich getan habe, um zu spielen.Dauer nicht mit AVPlayer currentItem
avPlayer = AVPlayer(url: videoURL! as URL)
playerLayer = AVPlayerLayer(player: avPlayer)
playerLayer.videoGravity=AVLayerVideoGravityResizeAspectFill
avPlayer.play()
Jetzt möchte ich eine UISlider
hinzufügen zu bewegen, wenn das Video abgespielt wird. So habe ich das gemacht.
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)
Aber wenn ich die duration
drucken das ist mein Ausgang
(lldb) po duration
▿ CMTime
- value : 0
- timescale : 0
▿ flags : CMTimeFlags
- rawValue : 17
- epoch : 0
Wie kann ich die Dauer dieses Streaming-Video. Bitte helfen Sie mir. Danke
Ich glaube, Sie Antwort von diesem erhalten kann: http://stackoverflow.com/questions/40781738/how-to-detect-avplayer-actually-started-to-play-in-swift#comment68786619_40781738 – nynohu
Nein, ich kann nicht bekomme die Antwort davon. Das hat auch den gleichen Weg verwendet – user1960169
Ich meine in der Antwort müssen Sie AVPlayer Status readyToPlay erhalten, wenn Sie diesen Status erhalten, können Sie die Dauer korrekt erhalten. – nynohu