【发布时间】:2014-08-21 18:56:46
【问题描述】:
我需要创建一个由两个拼接视频组成的视频,如下图:
实际上,我正在使用两个 AVPlayer 实例同时播放两个视频,但我需要使用这两个视频创建最终视频:Final video = [1 | 2]
您对如何做到这一点有任何想法吗?这是我用来播放这两个视频的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *url = [[NSBundle mainBundle] URLForResource:@"video_1" withExtension:@"mp4"];
self.mPlayer = [AVPlayer playerWithURL:url];
self.mPlayer2 = [AVPlayer playerWithURL:url];
[self.mPlayer addObserver:self forKeyPath:@"status" options:0 context:AVPlayerDemoPlaybackViewControllerStatusObservationContext];
[self.mPlayer2 addObserver:self forKeyPath:@"status" options:0 context:AVPlayerDemoPlaybackViewControllerStatusObservationContext];
}
- (void)observeValueForKeyPath:(NSString*)path ofObject:(id)object change:(NSDictionary*)change context:(void*)context
{
if ([object isKindOfClass:[AVPlayer class]]) {
if ([path isEqualToString:@"status"]) {
switch(item.status) {
case AVPlayerItemStatusFailed:
NSLog(@"player item status failed");
break;
case AVPlayerItemStatusReadyToPlay:
NSLog(@"player item status is ready to play");
[self.mPlaybackView2 setPlayer:self.mPlayer2];
[self.mPlaybackView setPlayer:self.mPlayer];
[self.mPlayer play];
[self.mPlayer2 play];
break;
case AVPlayerItemStatusUnknown:
NSLog(@"player item status is unknown");
break;
}
}
}
}
【问题讨论】:
-
您是否尝试在网络上搜索以在 iOS 上编辑视频?
AVFoundation框架的文档是一个很好的起点。而且,Apple 有大量使用AVFoundation编辑视频的示例项目。
标签: ios objective-c video avplayer