【问题标题】:how can i write a NSData file as Video in to Photolibrary/SavedPhotosAlbum?如何将 NSData 文件作为视频写入 Photolibrary/SavedPhotosAlbum?
【发布时间】:2011-09-03 00:30:40
【问题描述】:

我有一个视频文件作为 NSData。如何将 NSData 文件作为视频写入 Photolibrary/SavedPhotosAlbum?

我通过以下代码使用 UIimage 完成了它。我有一个 UiImage 作为 myNsData(NSData)

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 类中搜索过。

我发现只有两种方法。 他们是

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

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

其中两个正在使用 URL。实际上我不想在 Photolibrary/SavedPhotosAlbum 之外的任何地方写入 NSData 文件。

我需要将 NSData 文件直接写入 Photolibrary/SavedPhotosAlbum 中,就像我保存了一张图片一样。怎么做?谁能帮帮我?

【问题讨论】:

    标签: iphone objective-c xcode video alassetslibrary


    【解决方案1】:

    您需要创建一个带有视频 AVAssetWriterInput 的 AVAssetWriter 并将您的数据添加到输入中。

    创建 AVAssetWriter 时,需要为资产指定 URL。

    在您可以使用 ALAssetsLibrary (writeVideoAtPathToSavedPhotosAlbum:completionBlock:) 将资产写入照片库后,使用上面创建的资产的 url。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-23
      • 2017-03-04
      • 2015-11-07
      相关资源
      最近更新 更多