2017-04-17 168 views
0

我已經在使用Photo框架的collectionview中顯示了圖庫中的所有視頻。我已經解壓縮PHCachingImageManager(PHAsset LIB)的視頻的URL下面給出:如何使用ios中的視頻網址將從圖庫中挑選的視頻轉換爲NSData?

[imageManager requestAVAssetForVideo:asset options:nil resultHandler:^(AVAsset *avAsset, AVAudioMix *audioMix, NSDictionary *vidInfo) { 
     // Use the AVAsset avAsset 
     AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:avAsset]; 
     AVPlayer *videoPlayer = [AVPlayer playerWithPlayerItem:playerItem]; 

     NSURL *vUrl=[self urlOfCurrentlyPlayingInPlayer:videoPlayer]; 
     NSString *url=[NSString stringWithFormat:@"%@",vUrl]; 

     if (url.length>0) { 
      [videoInfo addObject:url]; 
     } 
    }]; 

至於我上傳選擇的視頻,所以我將其轉換爲NSData的象下面這樣:

NSData* data = [NSData dataWithContentsOfFile:selectedFileUrl options:0 error:&error]; 

越來越網址如:video url=file:///var/mobile/Media/DCIM/100APPLE/IMG_0165.MOV

但我收到的數據總是爲空。

我在這裏做錯了什麼?請幫忙!

謝謝!!!

+0

的NSData *數據= [NSData的dataWithContentsOfURL:[NSURL URLWithString:selectedFileUrl] ]。檢查此 –

+0

嘗試:'NSData * videoData = [NSData dataWithContentsOfURL:videoURL];' –

+0

謝謝@NAVEENKUMAR。我試着你們說什麼......仍然沒有成功 – sarita

回答

0

檢查:

NSData* data = [NSData dataWithContentsOfFile::[NSURL URLWithString: selectedFileUrl] options:nil error:&error]; 
+0

通常這是一個好主意,在你的答案中闡述代碼。告訴你它是如何工作的,或者你在做什麼。這有助於新開發人員準確理解發生了什麼。 –

0

嘗試用它

[imageManager requestAVAssetForVideo:asset options:nil resultHandler:^(AVAsset *avAsset, AVAudioMix *audioMix, NSDictionary *vidInfo) { 
     // Use the AVAsset avAsset 
     AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:avAsset]; 
     AVPlayer *videoPlayer = [AVPlayer playerWithPlayerItem:playerItem]; 

     NSURL *vUrl=[self urlOfCurrentlyPlayingInPlayer:videoPlayer]; 
     if (vUrl) { 
      [videoInfo addObject:vUrl]; 
     } 
    }]; 

現在你可以使用獲得的數據:NSData *videoData = [NSData dataWithContentsOfURL:videoURL];

+0

謝謝!但它沒有奏效 – sarita