アプリ内に保存されている動画をスムーズに連続再生したいため、
AVQueuePlayerで実装しました。
しかしどうしてもファイル切り替えのタイミングで、
つなぎ目ができてしまいます。(一瞬まばたきするような感じです)
どうすればスムーズに切り替えられますでしょうか。
Swift
1var player = AVQueuePlayer() 2 3player.insert(AVPlayerItem.init(url: writer.outputURL), after: nil) 4 5let playerLayer = AVPlayerLayer(player: player) 6playerLayer.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.width * 3.0 / 4.0) 7self.view.layer.addSublayer(playerLayer) 8player.play()
つなぎ目というのは、前動画の最終フレームと次動画の開始フレームの差異によるチラツキ(?)でしょうか?それとも、一瞬間が空くような感じでしょうか?後者の場合、その間は黒くなったりするのでしょうか?
ご回答ありがとうございます。チラツキです。layerの背景を黒にしたところ黒、青にすれば青になります。
ということは、一瞬映像が消えてしまうということですね。動画側の問題ではないですよね?
はい、MacのVLCで連続再生するとちらつかず再生できます。フレーム落ちではないと思います。
少し(本当に少し)だけ調べてみましたが、Itemを登録するだけで他に出来そうなことは無いですね‥。AVPlyerItemのstatusを監視してみると何か分かるかなぁ。(何か分かったとしても解決しそうにないですが)
"アプリ内に保存されている動画"とはh264でしょうかh265(HEVC)ではないですか
あなたの回答
tips
プレビュー