
まず、必要なライブラリをインポートします。
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を使って動画を再生し、ループさせる方法の解説です。
coiai