Ken*_*rin 5 iphone objective-c avfoundation ios avcomposition
我有一个AVMutableComposition,我已经与AVPlayer相关联.似乎如果我为这个合成添加曲目,除非我再次在播放器上设置合成,否则AVPlayer不会播放添加的曲目.现在我只是用已经设置的相同成分替换当前项目来做到这一点.之后它会拿起新的曲目.
我无法弄清楚这是不是这样做的正确方法,不知何故,这样做有点奇怪.
有任何想法吗?
谢谢
基本上虽然它是可变组合,苹果建议创建一个不可变的组合并创建AVPlayerItem用于播放目的.这有点烦人,但你可以绕过它.当您想要刷新视频时,只需对时间进行采样,创建另一个AVPlayerItem并将其加载到正确的时间.
这是来自apple的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];
Run Code Online (Sandbox Code Playgroud)
更多信息:完整文件
| 归档时间: |
|
| 查看次数: |
1911 次 |
| 最近记录: |