我有一个使用AVPlayer的简单视频编辑视图.我使用一个或多个AVURLAsset创建一个AVMutableComposition.一切正常,但视频总是旋转90度.即如果源视频是以纵向模式拍摄的.AVPlayer以横向模式显示它,反之亦然.我已经阅读了文档,并将其"go""至死,无法找到解决方案.我在寻找错误的地方.
有人可以帮忙吗?
提前致谢;
让 - 皮埃尔·
我有一个使用AVPlayer的视图控制器.此视图控制器可以加载模态视图控制器,用户可以使用AVAudioRecorder录制音频.
这是发生的事情:
如果用户使用[AVPLayer play]在第一个控制器中播放合成,AVAudioRecorder将不会在模态视图控制器中录制.没有错误,但AVAudioRecorder返回的当前时间是0.0;
如果用户解除模态对话框并重新加载它.AVAudioRecorder工作正常.
这可以反复重复AVAudioRecorder在[AVPlayer播放]调用后第一次调用它时不起作用
我已经和它斗争了几天,只是重新组织了与AVPlayer和AVAudioRecorder相关的代码,它仍然表现得很奇怪.
非常感谢任何帮助或指针
提前致谢
让 - 皮埃尔·
我有一个应用程序,允许附加多个视频资产并将一个或多个音轨添加到合成.一切似乎都有效,我可以使用最终的合成AVPlayer(尽管音频水平似乎很低).将合成导出到文件后,音轨缺失.
我的代码主要基于WWDC10会话的AVEditDemo示例代码.我已经针对AVEditDemo代码仔细检查了我的代码,但无法找到可能存在的问题.我也检查了论坛,但没有太多与AVFoundation相关的帖子/解决方案.
我们非常欢迎任何帮助.干杯,
让 - 皮埃尔·
使用额外音轨构建合成的方法
笔记:
compositionArray:包含构建组合的资产.
AssetView:包含AVURLAsset的对象.
- (AVMutableComposition *)buildCompositionObjects
{
// no assets available, return nil
if ([compositionArray count] < 1)
{
return nil;
}
// get the asset video size
AssetView * view = [compositionArray objectAtIndex:0];
AVURLAsset * asset = view.asset;
CGSize videoSize = [asset naturalSize];
// create new composition
AVMutableComposition * cmp = [AVMutableComposition composition];
// set the size
cmp.naturalSize = videoSize;
// build composition
[self buildComposition:cmp];
// add any extra audio …Run Code Online (Sandbox Code Playgroud)