2016-07-20 8 views
0

UIImageからバイト配列を生成することに慣れています。しかし、私はビデオからそれをどうやってやるのですか?これは私がimagePickerControllerデリゲートメソッドdidFinishPickingMediaWithInfoにあるものです。ビデオをカメラからバイト配列に変換するSwift

if let media = info[UIImagePickerControllerOriginalImage] as? UIImage { 
     let byteArray = UIImageJPEGRepresentation(media, 1.0) 
     print("hi") 
    } else { 
     //stuck here 
    } 
    FIRDatabase.database().reference().child("dataUploaded").setValue("uploaded") 
    uploaded = true 
    dismissViewControllerAnimated(true, completion: nil) 

答えて

1

動画は、UIImagePickerControllerの画像とは少し異なります。生のビデオデータを提供する代わりに、UIImagePickerControllerはビデオファイルのURLを返します。

info[UIImagePickerControllerMediaURL]を使用して、ビデオファイルのURLを取得します。ファイルのバイトをロードするには、NSData(contentsOfURL:)イニシャライザを使用します。

など。

if let fileURL = info[UIImagePickerControllerMediaURL] as? NSURL { 
    let bytes = try? NSData(contentsOfURL: fileURL) 
} 

注:bytesは失敗する可能性があり、ビデオをロードするため、任意です。

通常、ビデオはMOVまたはMP4ビデオファイルで、コンテンツは.H264コーデックでエンコードされますが、他の形式も存在します。

関連する問題