iPhone 6/6+ 上的相机胶卷视频导出没有慢动作效果

No slow motion effect in exported from camera roll video on iPhone 6/6+

我正在开发适用于视频的应用程序。它从相机胶卷视频中录制或导出制作短片。我需要一些意外行为的帮助。

当我导出使用苹果慢动作效果录制的视频时 - 这种效果在我的应用程序的视频中丢失了。

这是在 iPhone 6 和 6+ 上复制的,我假设也在 iPhone 5s 上。在 iPhone 5s/6/6+ Simulator 上,一切正常。要导出视频,我使用 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 framework,您可以使用 PHAssetMediaSubtypeVideoHighFrameRate