web-dev-qa-db-ja.com

iOS:ビデオPHAssetをNSDataに変換する方法

IPhoneに保存されている動画をGoogleドライブに入れたい。私はすでに画像でやりましたが、ビデオでは、それは別の問題です...

画像の場合、問題ありません。次の方法でアセットをNSDataに変換します。

   data = UIImagePNGRepresentation(result!)!

そして、画像をドライブに入れました!

しかし、ビデオについては、さまざまな方法を試しましたが、できません。

どのようにできるのか ?

どうもありがとう !

9
testa abalez

やったよ !

これが解決策です:

    PHCachingImageManager().requestAVAssetForVideo(asset, options: nil, resultHandler: {(asset: AVAsset?, audioMix: AVAudioMix?, info: [NSObject : AnyObject]?) in
        dispatch_async(dispatch_get_main_queue(), {

            let asset = asset as? AVURLAsset
            var data = NSData(contentsOfURL: asset.URL)
    })
})

その後、ビデオをクラウドに配置するために使用できる優れたNSData変数ができました。

21
testa abalez

ベローソリューションを追加してください

option.isNetworkAccessAllowed = trueを見逃した場合、URLの属に対してエラーが発生します

private let options: PHVideoRequestOptions = PHVideoRequestOptions()

option.isNetworkAccessAllowed = true 

PHImageManager.default().requestAVAsset(-------
0
Raj