Tag: 相机

Java:列出已插入的摄像头

我的程序目前获得了一个使用File.listRoots()插入计算机的驱动器列表。 但是,当我将相机或MP3播放器直接插入计算机(而不是插入存储卡)时,它没有列出,也没有Windows资源管理器中的驱动器号。 例如,这是我的相机的位置: Computer\Canon PowerShot SD750\Removable storage 如何列出没有驱动器号的摄像机/其他设备? 我认为这将需要某种类型的JNI库,但我显然不确定。 谢谢! PS出于绝望,我确实试图列出Computer\的内容; 它当然不起作用。 更新 :我在这里找到了这个问题: Windows上的便携式设备路径 ; 这正是我遇到的问题,但那里没有解决方案。

Flash切换按钮崩溃android

应用程序在四种不同的设备中运行良好。 但是客户在Xperia z2上面临闪光按钮ON / OFF的崩溃。 主要活动 btnFlash.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Toast.makeText(context, “Flash is toggled”, Toast.LENGTH_LONG).show(); if(CameraPreview.isFlashOn) { CameraPreview.FlashOff(camera); CameraPreview.isFlashOn = false; } else { CameraPreview.isFlashOn = true; CameraPreview.FlashOn(camera); } } }); CameraPreview public static boolean isFlashOn =false; // public static void FlashOn(Camera mCamera) { // Get Camera Params for customisation […]

Android模拟相机

是否可以模拟Android Camera类? @Override public void setUp() { _camera = Mockito.mock(Camera.class); } 无法生成模拟(Mockito的createProxyClass ExceptionInitializerError )。 我应该在Camera周围创建一些包装器(不是我最喜欢的解决方案,真的很想嘲笑这个类……)? 或者,我应该使用不同的模拟库然后Mockito? 希望有人能指出我正确的方向。 完成ExceptionInitializerError堆栈跟踪 java.lang.ExceptionInInitializerError at org.mockito.internal.creation.jmock.ClassImposterizer.createProxyClass(ClassImposterizer.java:85) at org.mockito.internal.creation.jmock.ClassImposterizer.imposterise(ClassImposterizer.java:62) at org.mockito.internal.creation.jmock.ClassImposterizer.imposterise(ClassImposterizer.java:56) at org.mockito.internal.creation.CglibMockMaker.createMock(CglibMockMaker.java:23) at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:26) at org.mockito.internal.MockitoCore.mock(MockitoCore.java:51) at org.mockito.Mockito.mock(Mockito.java:1243) at org.mockito.Mockito.mock(Mockito.java:1120) at com.cleancode.lifesaver.flashlight.test.FlashLightTests.setUp(FlashLightTests.java:20) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661) Caused by: java.lang.VerifyError: org/mockito/cglib/core/ReflectUtils at org.mockito.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:167) at org.mockito.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) at org.mockito.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:217) […]

MediaRecorder:setCamera() – 错误的相机不可用

任何人都知道如何使用它进行mediarecorder? 我正在使用 recorder.setPreviewDisplay(holder.getSurface)持有者 – 它的相机(我看到我的手机屏幕上的胸部矩形)当我运行我的应用程序 – 在logcat我看到错误(相机是不可用的)即时尝试使用functionsetCamera – 但它的不帮我 谁知道如何正确使用它? 或者我可以用其他方式录制video(只有video,没有音频)? 好的,已解决 这个代码例如 mediaRecorder = new MediaRecorder(); camera.unlock(); mediaRecorder.setCamera(camera);

检查哪个相机是Open Front或Back Android

我知道我可以boolean flag while opening front Camera设置一个boolean flag while opening front Camera 。 如果flag为true,则表示前置摄像头已开启。 但有没有办法使用Android API来了解哪个相机现在正在打开? 正面或背面。 public int getFrontCameraId() { CameraInfo ci = new CameraInfo(); for (int i = 0 ; i < Camera.getNumberOfCameras(); i++) { Camera.getCameraInfo(i, ci); if (ci.facing == CameraInfo.CAMERA_FACING_FRONT) return i; } return -1; // No front-facing camera found } 当我打开前置摄像头时,摄像头预览正在反转(上行侧视)。 因此, […]

Camera Intent结果很糟糕

我正在尝试启动内置摄像头来拍摄照片,这张照片的名称将由启动摄像头的活动指定。 (以下代码) 当相机返回时, onActivityResult()直接进入resultCode == Activity.RESULT_CANCELED 。 对此和解决方案的任何解释将不胜感激。 相机确实拍摄了图像,我可以在带有文件查看器的SD卡中看到它,但它的名字来自相机中的库存。 如何将此拍摄图像的名称作为活动提供的图像? 相机意图代码 Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); File image = new File(“Team image.jpg”); camera.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); camera.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image)); camera.putExtra(MediaStore.Images.Media.TITLE, “Team image”); startActivityForResult(camera, PICTURE_RESULT); activityresult代码 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data){ if(requestCode == PICTURE_RESULT){ if(resultCode == Activity.RESULT_OK) { if(data!=null){ Bitmap image = BitmapFactory.decodeFile(data.getExtras().get(MediaStore.Images.Media.TITLE).toString()); grid.add(image); images.addItem(image); } […]

如何花时间直到焦点在图像上拍摄而不是拍照?camera2API

我使用相机2 API。 我使用标准谷歌样本的相机。 问题是代码允许用户拍照,即使图像不在焦点… private final CameraCaptureSession.CaptureCallback mCaptureCallback = new CameraCaptureSession.CaptureCallback() { @Override public void onCaptureProgressed(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, @NonNull CaptureResult partialResult) { } @Override public void onCaptureCompleted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, @NonNull TotalCaptureResult result) { process(result); } private void process(CaptureResult result) { switch (mState) { case CameraHelper.STATE_PREVIEW: { // We have […]

如何在android中同时打开手电筒和前置摄像头

在我的应用程序的一个要求中,我需要弹出一个包含前置摄像头预览的活动,同时我也需要打开手电筒。但是我观察到,我可以打开手电筒并返回相机,但没有前置摄像头和手电筒在一起。以下是我的代码: public class Cam extends Activity { private static int cameraId = 0; private Camera camera; //Adding for camera preview public static FrameLayout preview; public static CameraPreview mPreview; Context context; ImageButton btnSwitch; private boolean isFlashOn; private boolean hasFlash; Parameters params; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e(“Cam”,”Inside onCreate”); setContentView(R.layout.cam); context = getApplicationContext(); btnSwitch = […]

Android ACTION_IMAGE_CAPTURE有时不会调用onActivityResult

在我们的代码中,我们使用的getPhoto方法如下所示: public void getPhoto(View view) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); captureFile = new File(getCaptureFilePath()); captureUri = Uri.fromFile(captureFile); intent.putExtra(MediaStore.EXTRA_OUTPUT, captureUri); startActivityForResult(intent, CAPTURE_IMAGE); } 和onActivityResult: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Log.w(TAG, “Came”); if (resultCode == RESULT_OK) { if (requestCode == CAPTURE_IMAGE) { try { captureFile = new File(getCaptureFilePath()); captureUri = Uri.fromFile(captureFile); […]