标签: android-camera

前脸摄像头安卓.

我正在开发一个演示,我必须检查设备是否有前置摄像头,如果设备有前置摄像头,那么我必须打开它来捕获图像.

我搜索了很多,但没有找到任何解决方案.请给我一个解决方案帮助我.

提前致谢.

camera android android-camera

1
推荐指数
1
解决办法
1万
查看次数

从Android中的Front Camera录制时,视频会颠倒播放

我正在做android视频摄像头应用程序.它应该具有使用后置和前置摄像头进行录制的功能.我完成了后置摄像头,一切都很好.但是当我用前置摄像头录制时,视频会颠倒过来.我必须播放我的应用程序本身录制的视频.我正在使用VideoView,如何设置方向或使其正确播放?在默认媒体播放器中播放的视频也在颠倒播放.尝试将视频发送到iPhone并进行检查,但仍然会颠倒.我有setOrientationHint到MediaRecorder但没有解决方案.

所有我的代码类似于agargenta的视频捕获演示,我已经完成了自定义.

问题似乎很奇怪,我很震惊.

this.mediaRecorder = new MediaRecorder();
        this.mediaRecorder.setCamera(this.mCamera);
        this.mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
        this.mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
        if (Build.VERSION.SDK_INT <= 10) {
            CamcorderProfile camcorderProfile = CamcorderProfile
                    .get(CamcorderProfile.QUALITY_HIGH);
            camcorderProfile.videoFrameWidth = 320;
            camcorderProfile.videoFrameHeight = 480;
            // camcorderProfile.videoFrameRate = 15;
            camcorderProfile.videoCodec = MediaRecorder.VideoEncoder.H264;
            // camcorderProfile.audioCodec = MediaRecorder.AudioEncoder.DEFAULT;
            camcorderProfile.fileFormat = MediaRecorder.OutputFormat.MPEG_4;
            this.mediaRecorder.setProfile(camcorderProfile);
mediaRecorder.setOrientationHint(90);
        } else {
            if (tgbSwitchCamera.isChecked()) {
                mediaRecorder
                        .setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
                // mediaRecorder.setVideoSize(320, 480);
                mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
                mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
                CameraInfo cameraInfo = new CameraInfo();
                Camera.getCameraInfo(CameraInfo.CAMERA_FACING_FRONT, cameraInfo);
                rotation = (cameraInfo.orientation - 180 + 360) % 360;
                mediaRecorder.setOrientationHint(rotation);

            } else {
                CamcorderProfile camcorderProfile = …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-orientation android-videoview

1
推荐指数
1
解决办法
2950
查看次数

pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)没有给出corerct答案

我想在尝试打开qr代码阅读器之前检查设备是否有任何相机.

我有以下代码:

 public boolean checkDeviceCompatibility() {

PackageManager pm = context.getPackageManager();

if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)) {
    if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
    return true;
    } else {
    // use front camera
    Toast.makeText(
        context,
        "This device does not have a back camera so it has automatically reverted to the front camera",
        Toast.LENGTH_SHORT).show();
    return true;
    }
} else {
    util.displayErrorDialog(
        context,
        "This device does not have any cameras and therefore cannot make use of the QR Code feature.");
    return false;
}
}
Run Code Online (Sandbox Code Playgroud)

但现在,如果我在我的Galaxy S3上使用两个摄像头以调试模式运行此代码.第一个if语句返回false.

为什么会这样?

camera android android-hardware android-package-managers android-camera

1
推荐指数
1
解决办法
3461
查看次数

ANDROID:删除"保存"和"丢弃"按钮

如何在捕获图像后删除确认显示("保存"和"丢弃"按钮显示)?

在此输入图像描述

我想在不改变应用程序功能的情况下删除第二步:在startActivityForResult函数转到previewCapturedImage()函数之后.

这是我的代码:

public class MainActivity extends Activity {

private static final int CAMERA_CAPTURE_IMAGE_REQUEST_CODE = 100;
public static final int MEDIA_TYPE_IMAGE = 1;
private static final String IMAGE_DIRECTORY_NAME = "OpenCV Demo";
private Uri fileUri;

private ImageView imgPreview;
private Button btnCapturePicture;
private FrameLayout  frameLayout;
private TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_8, this, mOpenCVCallBack))
    {
        Log.e("TEST", "Cannot connect to OpenCV Manager");
    }
    setContentView(R.layout.activity_main);
}

private void captureImage() {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); …
Run Code Online (Sandbox Code Playgroud)

eclipse android image-processing android-camera

1
推荐指数
1
解决办法
889
查看次数

如何在surfaceview android中捕获图像后重新加载相机?

我正在创建一个应用程序,我在surfaceview中使用相机.问题是在相机中拍摄照片后,它会继续显示拍摄的照片无法拍摄下一张照片,但拍摄的图像会存储在文件路径中.我需要的是在surfaceview中捕获图像后,它应该自动重新加载相机以拍摄下一个.

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.camera);
    preview = (SurfaceView) findViewById(R.id.preview);
    previewHolder = preview.getHolder();
    previewHolder.addCallback(surfaceCallback);
    previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    button = (Button)findViewById(R.id.capture);
    button.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            camera.takePicture(null, null, photoCallback);

        }
    });

    }

SurfaceHolder.Callback surfaceCallback = new SurfaceHolder.Callback() {
    public void surfaceCreated(SurfaceHolder holder) {
        camera = Camera.open();
    }

    public void surfaceChanged(SurfaceHolder holder, int format, int width,
            int height) {
        try {
            camera.setPreviewDisplay(previewHolder);
            camera.setDisplayOrientation(90);
            camera.startPreview();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public void …
Run Code Online (Sandbox Code Playgroud)

android surfaceview android-camera

1
推荐指数
1
解决办法
3043
查看次数

Android相机开启会延迟活动负荷

我正在尝试打开相机并使用显示SurfaceView。这使活动的加载延迟了很长时间。所以我想知道打开相机的最佳做法是什么。

android android-camera

1
推荐指数
1
解决办法
1409
查看次数

Android Camera 2 FocusArea

在旧相机api我有Camera.Parameters的setFocusArea,我可以指定相机焦点的矩形,但在新的Camera2 api我只能指定焦距.任何人都知道如何指定相机焦点的矩形?

期望的效果是实现对触摸的关注.我在Stack Overflow中找到了很多答案来实现对新相机api中触摸的关注,但没有人让我指定一个Rect.

android android-camera

1
推荐指数
1
解决办法
795
查看次数

Android Marshmallow:java.lang.RuntimeException:无法连接到相机服务

我在我的android应用程序中使用https://github.com/dlazaro66/QRCodeReaderView(QR码扫描程序)

我的主要权限如下:

<uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus"/>
Run Code Online (Sandbox Code Playgroud)

在Gradle中我有以下代码:

 compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.gurkhatech.schoolmanagement"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
Run Code Online (Sandbox Code Playgroud)

我已经用Java实现了代码:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_qr);
        mQrCodeReaderView = (QRCodeReaderView)findViewById(R.id.qrdecoderview);
        mQrCodeReaderView.setOnQRCodeReadListener(this);

    }

    @Override
    public void onQRCodeRead(String text, PointF[] points) {
        Toast.makeText(getApplicationContext(),text,Toast.LENGTH_LONG).show();

    }

    @Override
    public void cameraNotFound() {

    }

    @Override
    public void QRCodeNotFoundOnCamImage() {

    }

    @Override
    protected void onResume() {
        super.onResume();
        mQrCodeReaderView.getCameraManager().startPreview();
    }

    @Override
    protected void onPause() {
        super.onPause(); …
Run Code Online (Sandbox Code Playgroud)

android qr-code android-camera android-6.0-marshmallow

1
推荐指数
1
解决办法
3938
查看次数

错误:找不到符号方法setPreviewDisplay(SurfaceHolder)

我在macbook上使用Android Studio来创建简单的相机应用程序,遵循官方的Android文档.但是,当我试图打电话时,camera.setPreviewDisplay(SurfaceHolder)我收到以下错误:

错误:(29,16)错误:找不到符号方法setPreviewDisplay(SurfaceHolder)

我的CameraPreview类如下:

package com.opencv.camerapreview;

import android.content.Context;
import android.graphics.Camera;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;


public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback{
    private SurfaceHolder surfaceHolder;
    private Camera mCamera;

    public CameraPreview(Context context, Camera camera) {
        super(context);
        mCamera=camera;
        this.surfaceHolder= getHolder();
        this.surfaceHolder.addCallback(this);
        surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    }


    @Override
    public void surfaceCreated(SurfaceHolder holder) {
        mCamera.setPreviewDisplay(holder);

    }

    @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

    }

    @Override
    public void surfaceDestroyed(SurfaceHolder holder) {

    }
}
Run Code Online (Sandbox Code Playgroud)

看起来这是Android Studio中的一些链接问题.任何人都可以阐明为什么会发生这种情况并解决问题.谢谢

android android-layout android-camera

1
推荐指数
1
解决办法
2844
查看次数

Android Camera2:无法用前置摄像头拍照

我目前正在使用android-Camera2Basic,这个样本设计用后置摄像头拍照,它工作正常,但当我改变这一:

if (facing != null && facing != CameraCharacteristics.LENS_FACING_FRONT)
Run Code Online (Sandbox Code Playgroud)

预览显示了预期的相机,但单击图片按钮时不拍照.

为什么发生这种情况我需要改变别的东西?

android android-camera

1
推荐指数
1
解决办法
746
查看次数