今回はプロジェクト内に取り込んだ動画ファイルをループ再生させる実装を解説します。
画面の背景で動画を再生させたい時とかに使える実装です。
Contents 非表示
動画ファイルの取り込み
テキトーに拡張子(.MOV)のファイルをプロジェクトに取り込む、置き場所はどこでもOKです。
コーディング
import UIKit
import AVFoundation
class HomeViewController: UIViewController {
private var player = AVPlayer()
override func viewDidLoad() {
super.viewDidLoad()
playVideo()
self.player.play()
}
private func playVideo() {
guard let path = Bundle.main.path(forResource: "<#ファイル名#>", ofType: "MOV") else { return }
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()
}
}
}
まとめ
今回は以上です、ループ動画を有効活用してアプリを華やかに出来るようにしていきましょう!