【问题标题】:No slow motion effect in exported from camera roll video on iPhone 6/6+在 iPhone 6/6+ 上从相机胶卷视频导出时没有慢动作效果
【发布时间】: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


【解决方案1】:

见:https://devforums.apple.com/message/1025773#1025773

您似乎无法使用ALAssetsLibrary 执行此操作。但是,借助适用于 iOS 8+ 的新 照片框架,您可以使用 PHAssetMediaSubtypeVideoHighFrameRate

【讨论】:

  • 新的 iOS 8 Photos 框架成功了。导出的视频包含慢动作效果。
  • 该变量名中有错字。它实际上是“PHAssetMediaSubtypeVideoHighFrameRate”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多