问题描述
我试了几个答案我已经在网络中,如:
I've tried several answer I've found across the web, such as:
Camera.Parameters parameters = mCamera.getParameters();
parameters.set("camera-id", 2);
mCamera.setParameters(parameters);
或
mMediaRecorder.setVideoSource(2);
不过,这是行不通的。我还设置权限在manifest文件:
But it doesn't work. I've also set permissions on the manifest file:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
难道我错过了什么?我搜索计算器,我知道这已被问过,但似乎对此没有证实的解决方案,任何形式的帮助将是AP preciated。
Am i missing out on something? I've searched StackOverflow and I know this has been asked before but there seem to be no confirmed solution on this, any kind of help would be appreciated.
注:我在2.1平台上使用的Galaxy S
Note: I'm using Galaxy S on the 2.1 platform
推荐答案
一些试验和错误后,无论如何,我想通了如何做到这一点:
Anyway after a few trials and error, I figured it out how to do it:
Camera.Parameters parameters = mCamera.getParameters();
parameters.set("camera-id", 2);
parameters.setPreviewSize(640, 480); // or (800,480) this is supported front camera preview size @ Samsung Galaxy S
mCamera.setParameters(parameters);
或者,如果你需要使用它的MediaRecorder:
Or, if you need to use it with MediaRecorder:
MediaRecorder mMediaRecorder = new MediaRecorder();
Camera mCamera = Camere.open();
Camera.Parameters parameters = mCamera.getParameters();
parameters.set("camera-id", 2);
parameters.setPreviewSize(640, 480); // or (800,480)
mCamera.setParameters(parameters);
mCamera.unlock(); // unlock, to give other process to access it otherwise it can't be used later
mMediaRecorder.setCamera(mCamera);
// continue with mMediaRecorder standard routines here
如果你需要有一个更小的preVIEW大小,您可以设置/缩小你的SurfaceView大小,而不是。
If you need to have a smaller preview size, you could set/scale down your SurfaceView size instead.
这篇关于如何使用前置摄像头的三星Galaxy S的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!