プロジェクトに取り込んだ動画ファイルをループ再生する
完成図(飼っているハムスターです(笑))
1: テキトーにプロジェクトを作成
2: storyboard内で画面の装飾、今回はLabel一つのみ配置
◉ [.mov]の動画ファイルを一つプロジェクトに入れておいてください
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()で動画を再生する
という感じです。
何か応用して使えるものがあればまた備忘用に記事を作ろうと思います。
以上です。
この記事が気に入ったらサポートをしてみませんか?