見出し画像

プロジェクトに取り込んだ動画ファイルをループ再生する

完成図(飼っているハムスターです(笑))

画像1


1: テキトーにプロジェクトを作成

2: storyboard内で画面の装飾、今回はLabel一つのみ配置

◉ [.mov]の動画ファイルを一つプロジェクトに入れておいてください

画像2

3: 以下コードをコピペ

import UIKit
import AVFoundation

class ViewController: UIViewController {
   
   @IBOutlet weak var label: UILabel!
   private var player = AVPlayer()
   
   override func viewDidLoad() {
       super.viewDidLoad()
       initAVPlayer()
       self.player.play()
   }
   
   private func initAVPlayer() {
       let path = Bundle.main.path(forResource: "hamster", ofType: "MOV")
       player = AVPlayer(url: URL(fileURLWithPath: path!))
       let playerLayer = AVPlayerLayer(player: player)
       playerLayer.frame = CGRect(x: 0, y: 0, width: view.frame.size.width, height: view.frame.size.height)
       playerLayer.videoGravity = .resizeAspectFill
       playerLayer.repeatCount = 0
       playerLayer.zPosition = -1
       view.layer.insertSublayer(playerLayer, at: 0)
       NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: player.currentItem, queue: .main) { (_) in
           self.player.seek(to: .zero)
           self.player.play()
       }
   }
   
}

・import AVFoundationで音声ファイルを扱えるようにする

・initAVPlayer()で動画再生の初期設定

・self.player.play()で動画を再生する

という感じです。


何か応用して使えるものがあればまた備忘用に記事を作ろうと思います。


以上です。

この記事が気に入ったらサポートをしてみませんか?