未分類

AVPlayer()で動画を使う方法

投稿日:

AVPlayer()で動画を扱える。

1.AVFoundationをインポートする。

import AVFoundation

2.コードを書く

//インスタンス生成
var player = AVPlayer() 

override func viewDidLoad() {
        super.viewDidLoad()
        
        //動画ファイルを指定
        let path = Bundle.main.path(forResource: "ファイル名", ofType: "拡張子")
        player = AVPlayer(url: URL(fileURLWithPath: path!))
        
        //AVPlayer用のレイヤー(layer)を生成
        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()
        }
        self.player.play()
    }

-未分類

執筆者:

関連記事

no image

Date型またはString型で日付を比較する方法

Date型またはString型の日付の大小を比較する方法が載っている↓ 参考:【Swift4】Date 日付と日時を比較する方法(NSDate)【Objective-C】

no image

StaticCellでコードから特定のセルを選択状態にしたい時

セルを選択したいタイミングに以下のコードを書く。 sectionとrowでセルを指定する。 tableView.selectRow(at: IndexPath(row: 0, section: 1), …

no image

PremiereProでアニメがコマ落ちする対処法

レンダリングしてもアニメ映像が荒い映像乱れが見られる。 プレビュー再生は問題なかったのに、書き出すと乱れていた。 以下の方法で解決した。 環境設定→メディア→「ハードウェアによる高速処理のデコードを有 …

シーケンスに動画の音が入らない時の対処法

オーディオのパッチをオンにする。 参考:Premiere Proでシーケンスに音が入らない時の対処方法〜むしろソースパッチを活用せよ〜

描画モードの使い分け

描画モード(合成モード)の大まかな使い分け グレー線で大まかに区切られている。 上から、 通常:上からベタ置き 比較(暗)グループ:暗く合成される 加算グループ:明るく合成される オーバーレイグループ …