私はビデオで動作するアプリを開発しています。カメラロールのビデオから記録またはエクスポートされたものから短い映画を作成します。予期しない動作についてサポートが必要です。
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 アプリ内のスローモーション効果が含まれています。