
まず、必要なライブラリをインポートします。
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
この記事もおすすめ
株式会社coiaiは、「想像できることを美しく実現」を掲げ、XR・Web・アプリ・システム開発およびDX支援を行う会社です。 創業2022年、東京都練馬区に本社を置き、要件のヒアリングからPoC(概念実証)、本番運用まで一貫して伴走します。 まずはお気軽にご相談ください。
主なご相談内容
詳しい会社情報は会社概要ページでご覧いただけます。