はじめに
動画を扱う実装をしてるときに遭遇したエラーの解決方法を記録しておきます。
エラー
An AVPlayerItem cannot be associated with more than one instance of AVPlayer
どういう時に発生するのか
このような変数にAVPlayerItem
を格納してViewに表示しているとします。
@Published var playerItem: AVPlayerItem?
このように中身を入れ替えると発生しました
playerItem = AVPlayerItem(asset: アセット1)
playerItem = AVPlayerItem(asset: アセット2)
解決策
一度、nil
にして再度代入するとエラーが出なくなりました
playerItem = AVPlayerItem(asset: アセット1)
playerItem = nil
playerItem = AVPlayerItem(asset: アセット2)
おわり
この解決方法が適切かは分かりませんが、一応解決することができました