2017-11-12 2 views
0

Ich habe eine UIView, die einige Texte und Ansichten enthält. in jeder Ansicht nur die erste Ansicht Ich brauche ein Video mit AVPlayer, aber mein Problem ist, spielen zeigt das Video:Spielen Sie mehrere Videos mit AVPlayer in einer Ansicht

enter image description here

Hier ist mein Code:

func playVideo(name:String , onView:UIView) { 

    let path = Bundle.main.path(forResource: name, ofType: "mp4") 
    let videoURL = URL(fileURLWithPath: path!) 
    let player = AVPlayer(url: videoURL) 
    let playerLayer = AVPlayerLayer(player: player) 
    playerLayer.frame = onView.frame 
    playerLayer.videoGravity = AVLayerVideoGravity.resizeAspectFill 
    onView.layer.addSublayer(playerLayer) 
    player.play() 

} 

Mit der Funktion:

Wenn ich das App Video nur in videoView1 abspielen, jeden Vorschlag, warum dies passiert? ich meinen Code auch in viewWillAppear setzen, viewDidLayoutSubviews

Antwort

0

Ich habe gerade eine alternative Lösung, ich UIView mit UIContainerView ersetzt und sie dann mit Embed anderen View-Controller verbinden und Video in jedem View-Controller spielen. Jetzt funktioniert es perfekt, wie ich es erwartet habe.

enter image description here

3

Nach Apple-doc:

Klasse AVPlayer

Hinweis

AVPlayer zum Spielen eines einzelnen Medien gedacht Asset zu einem Zeitpunkt.

Verwandte Themen