2017-04-17 14 views
0

フォトフレームワークを使用して、collectionviewのギャラリーのすべての動画を表示しました。下記のように私は(PHAsset libに)PHCachingImageManagerからのビデオのURLを抽出していますiosでビデオURLを使用してギャラリーから選択したビデオを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]; 

取得しますURLは次のようになります:video url=file:///var/mobile/Media/DCIM/100APPLE/IMG_0165.MOV

しかし、私は常にnullとしてデータを取得しています。

私はここで間違っていますか?助けてください!

ありがとうございます!

+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

関連する問題