まず、必要なライブラリをインポートします。
import SwiftUI
import AVKit
ここでSwiftUI
はAppleが提供するUIツールキットで、AVKit
はオーディオとビデオの再生をサポートするフレームワークです。
次に、SampleView
という名前のViewを作成します。
struct SampleView: View {
このViewは、動画を再生するためのプレーヤーを持っています。
private let player = AVPlayer(url: Bundle.main.url(forResource: "SampleVideo", withExtension: "mov")!)
ここでAVPlayer
は動画を再生するためのオブジェクトで、Bundle.main.url(forResource:withExtension:)
メソッドを使ってアプリのメインバンドルから動画ファイルのURLを取得しています。
次に、body
プロパティを定義します。
var body: some View {
このプロパティは、Viewの内容を定義します。ここでは、VStack
を使ってビデオプレーヤーを配置します。
VStack {
VideoPlayer(player: player)
VideoPlayer
はAVKit
が提供するビデオプレーヤーのViewで、先ほど作成したplayer
を引数に取ります。
そして、onAppear()
メソッドを使って、Viewが表示されたときに動画を再生します。
.onAppear() {
player.play()
さらに、NotificationCenter
を使って動画が終了したときに動画を最初から再生するように設定します。
NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: player.currentItem, queue: .main) { _ in
player.seek(to: .zero)
player.play()
}
これにより、動画は無限にループします。
以上が、SwiftUIを使って動画を再生し、ループさせる方法の解説です。
コメントを残す