Как я могу записать файл NSData как видео в Photolibrary/SavedPhotosAlbum?

У меня есть видео файл как 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 Calss.

я нашел только два пути. они есть

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

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

два из них используют URL. На самом деле я не хотел писать файл NSData где-нибудь, кроме как в Photolibrary/SavedPhotosAlbum.

мне нужно записать файл NSData непосредственно в фотоальбом / SavedPhotosAlbum, как будто я сохранил изображение. Как это сделать? Кто-нибудь может мне помочь?

1 ответ

Решение

Вам нужно создать AVAssetWriter с видео AVAssetWriterInput и добавить свои данные во вход.

Когда вы создаете AVAssetWriter, вам нужно указать URL для ресурса.

После того, как вы можете использовать ALAssetsLibrary (writeVideoAtPathToSavedPhotosAlbum: завершениеБлок:), чтобы записать ресурс в библиотеку фотографий с URL-адресом ресурса, созданного выше.

Другие вопросы по тегам