Как я могу записать файл NSData как видео в Photolibrary / SavedPhotosAlbum? - PullRequest
1 голос
/ 03 сентября 2011

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

как я могу сделать то же самое для видео.

Я искал в Calss NSData.

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

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

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

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

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

1 Ответ

1 голос
/ 03 сентября 2011

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

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

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

...