【发布时间】:2016-03-29 07:01:31
【问题描述】:
我正在开发适用于视频的应用。它从录制的或从相机胶卷视频导出的短片。我需要一些意外行为的帮助。
当我导出使用苹果慢动作效果录制的视频时 - 这种效果在我的应用中的视频中丢失了。
这是在 iPhone 6 和 6+ 上复制的,我假设在 iPhone 5s 上也是如此。在 iPhone 5s/6/6+ 模拟器上,一切正常。要导出视频,我使用 iOS SDK ALAssetsLibrary API,代码:
NSMutableArray* allVideos = [[NSMutableArray alloc] init];
self.assetLibrary = [[ALAssetsLibrary alloc] init];
[self.assetLibrary enumerateGroupsWithTypes: ALAssetsGroupAll
usingBlock: ^(ALAssetsGroup* group, BOOL* stop1){
if (group) {
[group setAssetsFilter: [ALAssetsFilter allVideos]];
[group enumerateAssetsUsingBlock: ^(ALAsset* asset, NSUInteger index, BOOL* stop2){
if (asset) {
[allVideos addObject: asset];
}
}];
}
else {
//sort by last shooted video
self.view.videoAssetRepresentations = [allVideos sortedArrayUsingComparator: ^NSComparisonResult (ALAsset* obj1, ALAsset* obj2) {
return [[obj1 valueForProperty: ALAssetPropertyDate] timeIntervalSince1970] < [[obj2 valueForProperty: ALAssetPropertyDate] timeIntervalSince1970];
}];
}
}
failureBlock: ^(NSError* error){
DbgLog(@"error enumerating AssetLibrary groups %@\n", error);
}];
要播放导出的视频,我使用 AVPlayer 实例。
请帮助我 - 我该如何解决我的问题?
PS - Instagram 应用可以做到这一点,在 iPhone 6 上测试。导出的视频在 Instagram 应用中包含慢动作效果。
【问题讨论】:
-
@PaulCezanne 有什么想法吗?
-
抱歉,我不久前离开了视频世界。但我很确定当时慢动作对我们有用。我的评论更多是为了让您向我们展示一些代码,至少那时有人会有机会提供帮助。
-
使用新的 iOS 8 Photos 框架解决了这个问题。
标签: ios objective-c iphone video slowmotion