我想制作一个只需打开前置摄像头的应用程序,如何使用intent
?
private void captureImage() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
intent.putExtra("android.intent.extras.CAMERA_FACING", 1);
// start the image capture Intent
startActivityForResult(intent, CAMERA_CAPTURE_IMAGE_REQUEST_CODE);
}
try this:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra("android.intent.extras.CAMERA_FACING", 1);
File outPutFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + Util.SD_CARD_PATH);
if (!outPutFile.exists()) {
outPutFile.mkdirs();
}
capturedImageUri = Uri.fromFile(File.createTempFile("packagename" + System.currentTimeMillis(), ".jpg", outPutFile));
intent.putExtra(MediaStore.EXTRA_OUTPUT, capturedImageUri);
startActivityForResult(intent, Util.REQUEST_CAMERA);
使用Intent
打开标准的android摄像头应用程序。
永远不要使用android。意图临时演员。CAMERA_FACING
属性-这是一个未记录的功能,从一些android版本开始停止工作。
要打开前置相机,你应该使用相机应用编程接口——做一些事情,比如选择前置相机、在视图中显示预览以及手动拍照。@skydroid的回答说明如何找到前置摄像头。请注意,Camera.open()
不会像您预期的那样为用户打开摄像机,您应该手动显示预览。
另外请注意,由于API级别21,摄像头API已被弃用,文档建议改用摄像头2 API。但Camera API仍然功能齐全,如果您希望支持旧版本,则别无选择(
java
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri photoUri = Uri.fromFile(getOutputPhotoFile());
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
intent.putExtra("android.intent.extras.CAMERA_FACING", 1);
startActivityForResult(intent, CAMERA_PHOTO_REQUEST_CODE);
其他/替代解决方案
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.toString());
}
}
}
return cam;
}
在AndroidManifest中添加这些权限。xml
文件
<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" />
仅适用于姜饼(2.3)和向上Android版本。
否则你也可以检查这些例子
1.android-Camera2基础
2.照相机示例2
3.沃格拉例子
希望对你有帮助。。
在Android中,它与webcam一起工作,但不能与webview一起工作。
活动结果代码
本文向大家介绍如何在iOS中同时使用前置和后置摄像头?,包括了如何在iOS中同时使用前置和后置摄像头?的使用技巧和注意事项,需要的朋友参考一下 截至目前,您无法同时访问前置和后置摄像头。由于两个摄像头的会话都不相同,因此一个摄像头将立即开始,其他会话将消失。 根据由苹果支持团队回答的苹果开发者论坛- “应用程序无法同时从前置和后置摄像头捕获。您可以从一个切换到另一个(之间有短暂的延迟),但不能同时
问题内容: 在iOS 10发布之前,我使用以下代码获取录像机的视频和音频捕获: 当iOS 10最终问世时,我在运行代码时收到以下警告。请注意,我的录像机仍可以正常运行约2周。 在iOS 10.0中不建议使用“ devices()”:请改用AVCaptureDeviceDiscoverySession。 今天早上运行代码时,录像机停止工作。xCode8没有给我任何错误,但是相机捕获的PreviewL
问题内容: 我正在尝试使前置摄像头具有实时取景。我可以使用以下方法获取后置摄像头: 但是我似乎找不到找到前置摄像头的方法。如何更改上面的代码以使用前置摄像头? 问题答案: 这是我的一个项目的工作示例,用于获取前置摄像头。这是在Objective-C中实现的,但事实证明它是可行的,并且足够容易转换为快捷方式。 在Swift 3.2+中: