4

私はビデオで動作するアプリを開発しています。カメラロールのビデオから記録またはエクスポートされたものから短い映画を作成します。予期しない動作についてサポートが必要です。

Apple スロー モーション効果で録画したビデオをエクスポートすると、アプリのビデオでそのような効果が失われます。

これは 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 アプリ内のスローモーション効果が含まれています。

4

1 に答える 1