iOSのAVPlayerを使ったオンライン再生、再生状況、 音量コントロール
iOSでAVPlayerを用いたオンライン動画の再生、再生バーや音量バーのコントロールを行う手順は次のとおりです。
- AVFoundationフレームワークをインポート
import AVFoundation
- AVPlayerインスタンスを作成して、オンライン動画URLを読み込む
let videoURL = URL(string: "https://example.com/video.mp4")
let player = AVPlayer(url: videoURL!)
- AVPlayerレイヤーを作成してビューに追加し、動画再生の画面を表示
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = view.bounds
view.layer.addSublayer(playerLayer)
- ビデオを再生する
player.play()
- 進捗バーとして UISlider インスタンスを作成し、最小値、最大値、初期値を設定する
let progressSlider = UISlider()
progressSlider.minimumValue = 0
progressSlider.maximumValue = Float(CMTimeGetSeconds(player.currentItem?.duration ?? CMTime()))
progressSlider.value = 0
- 再生進捗の変化を監視し、進行状況バーの値を更新します
player.addPeriodicTimeObserver(forInterval: CMTime(seconds: 1, preferredTimescale: 1), queue: .main) { [weak self] time in
let currentTime = CMTimeGetSeconds(time)
self?.progressSlider.value = Float(currentTime)
}
- 動画再生の進行を制御する
let seekTime = CMTime(seconds: Double(progressSlider.value), preferredTimescale: 1)
player.seek(to: seekTime)
- ボリュームバー用の UISlider インスタンスを作成し、最小値、最大値、初期値を設定する
let volumeSlider = UISlider()
volumeSlider.minimumValue = 0
volumeSlider.maximumValue = 1
volumeSlider.value = player.volume
- ボリュームを調整します
player.volume = volumeSlider.value
以上は、AVPlayerを使用してオンラインで再生したり、再生状況バーやボリュームバーを操作したりするための基本的な手順です。ご自身のご要望に応じて、カスタマイズしたり、機能を拡張したりすることができます。