1

ビデオ ファイルを NSData として持っています。NSData ファイルをビデオとして Photolibrary/SavedPhotosAlbum に書き込むにはどうすればよいですか?

次のコードを使用してUIimageでそれを行いました。私はmyNsData(NSData)としてUiImageを持っていました

UIImage *viewImage = [UIImage imageWithData:myNsData];    

  ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];  
  // Request to save the image to camera roll  
  [library writeImageToSavedPhotosAlbum:[viewImage CGImage] orientation:(ALAssetOrientation)[viewImage imageOrientation] completionBlock:^(NSURL *assetURL, NSError *error){
}

ビデオと同じ機能を実行するにはどうすればよいですか。

NSData calss で検索しました。

私は2つの方法しか見つけませんでした。彼らです

(void)writeVideoAtPathToSavedPhotosAlbum:(NSURL *)videoPathURL completionBlock:(ALAssetsLibraryWriteVideoCompletionBlock)completionBlock;

- (BOOL)videoAtPathIsCompatibleWithSavedPhotosAlbum:(NSURL *)videoPathURL;

そのうちの 2 つは URL を使用しています。実際、Photolibrary/SavedPhotosAlbum 以外の場所に NSData ファイルを書き込みたくありませんでした。

画像を保存したように、NSData ファイルを Photolibrary/SavedPhotosAlbum に直接書き込む必要があります。

4

1 に答える 1

1

ビデオ AVAssetWriterInput を使用して AVAssetWriter を作成し、データを入力に追加する必要があります。

AVAssetWriter を作成するときは、アセットの URL を指定する必要があります。

ALAssetsLibrary (writeVideoAtPathToSavedPhotosAlbum:completionBlock:) を使用して、上記で作成したアセットの URL を使用してアセットを写真ライブラリに書き込むことができます。

于 2011-09-03T06:36:17.477 に答える