未分類

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

キーボードでtextFieldが隠れないようにする

画面下にtextFieldやtextViewを配置すると、キーボード出現時に隠れてしまうことがある。 キーボード出現と一緒に、textFieldの位置を上げることで解決。 キーボード出現時にtextF …

描画モードの使い分け

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

no image

TableViewとStaticCellでiPhonの設定画面風を作る

TableViewとStaticCellとNavigationControlleを使って設定画面ぽいものを作るサンプル↓ 参考:UITableView + Static Cellsでアプリ内設定画面を …

no image

Realmでデータを更新または追加する方法

モデルにプライマリキーを指定しているなら、Realm().add(_:update:)を使って、オブジェクトがすでに存在する場合は更新、存在しない場合は新しく追加というように、追加または更新を一度に行 …