簡體   English   中英

如何在Android中使用Camera Intent啟動前置攝像頭?

[英]How to start front facing camera in android Using Camera Intent?

我正在開發一個應用程序,我想在按鈕點擊時打開前置攝像頭(如果該設備上有前置攝像頭)。

我已經使用了這個代碼,它適用於具有OS 3.2.1的華碩平板電腦。 但是相同的代碼不適用於OS 4.2.1。

我想要適用於所有Android版本的代碼。 請幫我解決這個問題。

以下是我的代碼 -

Intent takePictureIntent = new Intent(
                MediaStore.ACTION_IMAGE_CAPTURE);

takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
                            Uri.fromFile(f));
                    Log.v("", "Camera Id-" + camId);

                    if (!TextUtils.isEmpty(camera)) {
                        if (camera.equalsIgnoreCase("Front")) {
                            Log.v("", "Inside if");
                            takePictureIntent.putExtra(
                                    "android.intent.extras.CAMERA_FACING",
                                    Camera.CameraInfo.CAMERA_FACING_FRONT);

                        } else {
                            Log.v("", "Inside else");
                            takePictureIntent.putExtra(
                                    "android.intent.extras.CAMERA_FACING",
                                    Camera.CameraInfo.CAMERA_FACING_BACK);

                        }
                    }
startActivityForResult(takePictureIntent, actionCode);

注意:此功能在Gingerbread和Up Android版本中可用。 Intent以自己的方式處理相機動作。 當您使用SurfaceView來利用相機功能時,將使用此技術。

 private Camera openFrontFacingCameraGingerbread() {
int cameraCount = 0;
Camera cam = null;
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
cameraCount = Camera.getNumberOfCameras();
for ( int camIdx = 0; camIdx < cameraCount; camIdx++ ) {
    Camera.getCameraInfo( camIdx, cameraInfo );
    if ( cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT  ) {
        try {
            cam = Camera.open( camIdx );
        } catch (RuntimeException e) {
            Log.e(TAG, "Camera failed to open: " + e.getLocalizedMessage());
        }
    }
}

return cam;}

在清單文件中:

<uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" android:required="false" />  <uses-feature android:name="android.hardware.camera.front" android:required="false" />

今天,我正在嘗試同樣的事情並遇到與你相同的問題。 然后我搜索了問題,並找到了這個鏈接的完美解決方案,這對我有幫助。 Android無法使用前置攝像頭錄制視頻,MediaRecorder啟動失敗:-19

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM