Skip to main content

Command Palette

Search for a command to run...

AVKit ajout vidéo

Updated
•2 min read•View as Markdown
AVKit ajout vidéo

Ajouter le fichier Mp4 au projet, dans un dossier Média par exemple.

Bien vérifier que la case "Add to targets" soit cochée :

Capture d’écran 2021-02-28 à 15.02.26.png

Importer "AVKit", créer une propriété de type "AVPlayer" , et un cadre pour la vidéo en propriété de type "AVPlayerLayer"

import UIKit
import AVKit

class ViewController: UIViewController {

    var videoPlayer: AVPlayer?
    var videoPlayerLayer: AVPlayerLayer?

Créer une méthode pour gérer la vidéo, le lecteur et le cadre :

func setupVideo() {

        // obtenir le chemin d'accès à la resource vidéo (avec le nom du fichier viéo : ici "BoatsSailing")
        let bundlePath = Bundle.main.path(forResource: "BoatsSailing", ofType: "mp4")
        guard bundlePath != nil else { return }

        //créer une url à partir du chemin
        let url = URL(fileURLWithPath: bundlePath!)

        //créer video player item
        let item = AVPlayerItem(url: url)

        //créer le lecteur
        videoPlayer = AVPlayer(playerItem: item)

        //créer le cadre
        videoPlayerLayer = AVPlayerLayer(player: videoPlayer)

        //ajuster taille
            //pour cadre au centre de l'écran
        videoPlayerLayer?.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height)

            //pour video sur tout l'écran : très grand cadre, sur l'écran on voit le centre
        //videoPlayerLayer?.frame = CGRect(x: -self.view.frame.size.width*1.5, y: 0, width: self.view.frame.size.width*4, height: self.view.frame.size.height)

        //ajouter à la vue et lancer
        view.layer.insertSublayer(videoPlayerLayer!, at: 0)
        videoPlayer?.playImmediately(atRate: 0.3) //atRate détermine la vitesse de lecture

    }

Appeler cette méthode dans l'override de "viewWillAppear()" ou viewDidLoad()

override func viewWillAppear(_ animated: Bool) {
        setupVideo()
    }

ecran2.jpg

More from this blog

F

Fred iOS tutorials

31 posts