什麼是預覽屏幕的圖像格式時,攝像頭啓用?什麼是預覽屏幕的圖像格式時,攝像頭讓
它是RGB?
或者YUV?
還是別人?
因此,當我拍照時,我基本上要求Andriod將屏幕上的任何內容從YUV
格式轉換爲JPEG
?
當我錄製視頻,Android版格式轉換爲mp4
?
什麼是預覽屏幕的圖像格式時,攝像頭啓用?什麼是預覽屏幕的圖像格式時,攝像頭讓
它是RGB?
或者YUV?
還是別人?
因此,當我拍照時,我基本上要求Andriod將屏幕上的任何內容從YUV
格式轉換爲JPEG
?
當我錄製視頻,Android版格式轉換爲mp4
?
這是NV21。請參閱online document。 要保存數據,JPEG,你可以這樣做:
YuvImage im = new YuvImage(preview_data, ImageFormat.NV21, preview_width, preview_height, null);
int quality = 90;
Rect rect = new Rect(0, 0, preview_width, preview_height);
FileOutputStream output = new FileOutputStream("/sdcard/test.jpg");
im.compressToJpeg(rect, quality, output);
output.flush();
output.close();
有一種替代方法,我如何做同樣的,可以幫助你: 對於拍照:
的init攝像頭並設置onPictureTake方法。
相機相機= Camera.open(); 如果(相機!= NULL){ camera.takePicture(NULL,NULL,JPEG); }
現在以JPEG格式實現與名稱 「JPEG」 Camera.PictureCallback,在其中將得到捕捉到的圖像
組所希望的圖像在onSurfaceChanged格式方法
公共無效surfaceChanged(SurfaceHolder保持器,INT格式,INT瓦特,INT 1H) { 如果(支架!= NULL & &相機!= NULL){ camera.stopPreview(); Camera.Parameters parameters = camera.getParameters(); parameters.setPictureFormat(PixelFormat.JPEG); camera.setParameters(parameters); camera.setPreviewDisplay(holder); camera.startPreview(); }}
記錄視頻
初始化相機。
Camera camera = Camera.open();
初始化媒體記錄器和設置所需的視頻格式的錄像機
如果(相機!= NULL){ 嘗試 { 相機。stopPreview();
MediaRecorder recorder = new MediaRecorder();
recorder.setCamera(camera);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.prepare();
}
資料來源:Take picture,爲Record video