我有一個AVMutableComposition與AVPlayer相關聯。 看來,如果我將曲目添加到此曲目,AVPlayer不會播放添加曲目,除非我再次在播放器上設置曲目。現在我只需用已經設置的相同組合替換當前項目就可以了。之後,它會選擇新的曲目。重新加載AVMutableComposition
我一直無法弄清楚這是否是正確的做法,它似乎有點奇怪,必須這樣做。
任何想法?
感謝
我有一個AVMutableComposition與AVPlayer相關聯。 看來,如果我將曲目添加到此曲目,AVPlayer不會播放添加曲目,除非我再次在播放器上設置曲目。現在我只需用已經設置的相同組合替換當前項目就可以了。之後,它會選擇新的曲目。重新加載AVMutableComposition
我一直無法弄清楚這是否是正確的做法,它似乎有點奇怪,必須這樣做。
任何想法?
感謝
基本上雖然它的可變組成,蘋果建議創建一個不可改變的組成和回放目的創建AVPlayerItem。這有點煩人,但你可以繞過它。當你想刷新視頻時只需要抽樣,創建另一個AVPlayerItem並將其加載到正確的時間。
下面是蘋果的AVMutableComposition文檔片段
AVMutableComposition是AVComposition的一個可變的子類,當你想從現有資產的新成分使用 。您可以添加和刪除曲目,並且您可以添加,刪除和縮放時間範圍的 。
你可以讓一個可變組成的一個不變的快照 播放或檢查如下:
AVMutableComposition *myMutableComposition =
<#a mutable composition you want to inspect or play in its current state#>;
AVComposition *immutableSnapshotOfMyComposition = [myMutableComposition copy];
// Create a player to inspect and play the composition.
AVPlayerItem *playerItemForSnapshottedComposition =
[[AVPlayerItem alloc] initWithAsset:immutableSnapshotOfMyComposition];
更多信息:Full Document
感謝您的回覆,這基本上是我現在正在做的事情,但這證明了這是做到這一點的方法。 –
但你不看它的奇怪?如果你正在移除一首曲目,那麼你不需要更換該播放器的物品,並且該曲目在沒有任何進一步替換的情況下停止播放! – AMTourky