我正在开发适用于视频的应用.它可以通过相机胶卷视频录制或导出短片.我需要一些意外行为的帮助.
当我导出用苹果慢动作效果录制的视频时 – 在我的应用中视频中丢失了这种效果.
这在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应用程序内的慢动作效果.
解决方法
见:
https://devforums.apple.com/message/1025773#1025773
您似乎无法使用ALAssetsLibrary执行此操作.但是,使用适用于iOS 8的新Photos框架,您可以使用PHAssetMediaSubtypeVideoHighFrameRate