标签: android-camera

Android中自动对焦后的视频录制问题

我正在尝试构建一个应用程序,尝试在开始视频录制之前自动对焦相机.直接使用MediaRecorder不会自动对焦相机.为此我使用Camera和使用回调我可以自动对焦它.但是提供这个实例给MediaRecorder了我很多问题.以下是用于录制的代码

public boolean startRecording()
{
    try
    {
        mCamera.unlock();

        mediaRecorder = new MediaRecorder();
        mediaRecorder.setCamera(mCamera);

        mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

        CamcorderProfile profile = CamcorderProfile
                .get(CamcorderProfile.QUALITY_LOW);
        mediaRecorder.setProfile(profile);

        mediaRecorder.setMaxDuration(maxDurationInMs);

        File file = new File(outputFile);
        if (file.exists())
            file.delete();
        file = new File(outputFile);

        try
        {
            file.createNewFile();
        }
        catch (IOException e1)
        {
            // TODO Auto-generated catch block
            e1.printStackTrace();
            Log.e("Deepak", "*** first catch ***");
        }


        mediaRecorder.setOutputFile(outputFile);
        mediaRecorder.setPreviewDisplay(mHolder.getSurface());

        mediaRecorder.setMaxFileSize(maxFileSizeInBytes);

        mediaRecorder.prepare();
        mediaRecorder.start();

        return true;
    }
    catch (IllegalStateException e)
    {
        Log.e(TAG, e.getMessage());
        e.printStackTrace();
        return false;
    }
    catch (IOException …
Run Code Online (Sandbox Code Playgroud)

android android-2.2-froyo android-camera

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

使用Android相机拍照的问题

我有一个应用程序,我正在使用Android相机拍照.我已经建立了自己的Android相机.按下按钮拍摄照片.

像这样的东西:

  public void onClick(View arg0) {
  mCamera.takePicture(null, mPictureCallback, mPictureCallback);
  }


Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() {
    public void onPictureTaken(byte[] imageData, Camera c) {

        if (imageData != null) {
            Intent mIntent = new Intent();


            Bundle b = new Bundle();
            b.putByteArray("imageData", imageData);
            Intent i = new Intent(mContext, ViewPhoto.class);
            i.putExtras(b);
            startActivity(i);

            setResult(FOTO_MODE, mIntent);
            finish();

        }
    }
};
Run Code Online (Sandbox Code Playgroud)

拍摄照片后,我使用intent并将字节发送到另一个活动.

最大的问题是,如果我通过按下按钮逐个拍摄几张照片,我的应用程序会在此行崩溃:

mCamera.takePicture(null, mPictureCallback, mPictureCallback);
Run Code Online (Sandbox Code Playgroud)

这就是我的logcat的样子:

java.lang.RuntimeException: takePicture failed
at android.hardware.Camera.native_takePicture(Native Method)
at android.hardware.Camera.takePicture(Camera.java:746)
at android.hardware.Camera.takePicture(Camera.java:710)
at com.Xperiaproject.TakePhoto.onClick(TakePhoto.java:216)
at android.view.View.performClick(View.java:2534)
at android.view.View$PerformClick.run(View.java:9210)
at android.os.Handler.handleCallback(Handler.java:587)
at …
Run Code Online (Sandbox Code Playgroud)

android android-camera

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

为什么我的相机预览显示水平而不是垂直?

在我的Android相机应用程序中,如果我将屏幕固定到横向,那么在横向模式下,它似乎必须被看到.但如果我将它固定到肖像,那么相机预览将被视为水平.它为什么会发生?什么是溶剂呢?

android android-layout android-camera

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

如何在调用相机时解决ANR错误?

我在主菜单中有两个按钮.我按下第一个按钮时调用相机.在这里,我没有遇到任何问题.相机正常工作.拍完照片后,我回到主菜单,再次按下第一个按钮.我在这里得到了这个问题.相机正确调用.但是我ANR error (Reason: keyDispatchingTimedOut)在拍摄时却得到了.如何解决这个问题?

编辑::

我正在使用以下代码,

按钮监听器,

Button imageButton = (Button) findViewById(R.id.button1);
imageButton.setOnClickListener(new  View.OnClickListener() {

    public void onClick(View arg0) {
    Intent intent = new Intent();
    intent.setClass(activity, ImageActivity.class);
    startActivity(intent);
    }
});
Run Code Online (Sandbox Code Playgroud)

ImageActivity.java

public class ImageActivity extends Activity implements SurfaceHolder.Callback {
    private Camera camera = null;
    private SurfaceHolder surfaceHolder = null;
    private boolean previewRunning = false;
    private Button btnDone, btnCapture, btnRetake;
    private Bitmap mBitmap;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFormat(PixelFormat.TRANSLUCENT);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.surface_screen);
        SurfaceView surfaceView = …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-anr-dialog

3
推荐指数
3
解决办法
4373
查看次数

android在相机上显示矩形

嗨我想在相机中显示一个矩形,这样当用户捕捉时,只能处理矩形内的区域.不知道怎么办呢?并且可以通过沿着角落拖动来调整矩形大小.

我没有打电话给相机应用程序.我正在使用相机API.

android android-camera android-camera-intent

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

Android:使用setTransform翻转实时TextureView

主要活动

public class MainActivity  extends Activity implements TextureView.SurfaceTextureListener{
    private Camera mCamera;
    private TextureView mTextureView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mTextureView = new TextureView(this);
        mTextureView.setSurfaceTextureListener(this);

        setContentView(mTextureView);
    }

    @Override
    public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) 
    {
        mCamera = Camera.open(0);

        try {
            mCamera.setPreviewTexture(surface);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        mCamera.startPreview();
    }

    @Override
    public boolean onSurfaceTextureDestroyed(SurfaceTexture arg0) {
        mCamera.stopPreview();
        mCamera.release();
        return true;
    }

    @Override
    public void onSurfaceTextureSizeChanged(SurfaceTexture arg0, int arg1,
            int arg2) { …
Run Code Online (Sandbox Code Playgroud)

android android-camera

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

得到火炬(闪光)状态在android M中切换它

我想实现切换火炬功能.因此,相机不会被捕获并崩溃 - 就像Lollipop一样 - 我正在尝试使用setTorchModeAPI 23.我有一个代码实现来打开或关闭火炬; 但是,我不知道如何检查闪光灯的当前状态.

CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
try {
    String[] cameras = manager.getCameraIdList();
    for (int i = 0; i < cameras.length; i++) {
        CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameras[i]);
        boolean flashAvailable = characteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);
        if (flashAvailable) {
            boolean flashState = getFlashState(); //MISSING METHOD
            manager.setTorchMode(cameras[i], !flashState);

        }

    }

} catch (CameraAccessException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

那么,如何在getFlashState不使用旧相机API的情况下实现?是否可以在不拍摄相机的情况下完成?

android android-camera android-6.0-marshmallow

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

Android:想要在相机预览上添加轮廓叠加层

我想知道如何在相机预览上放置一个轮廓.到目前为止,我已经有以下示例工作,它只是预览相机.

http://developer.android.com/reference/android/view/TextureView.html

我正在尝试进行相机预览,我在其中显示了一个轮廓,以便使用应用程序的人知道应该拍摄照片的位置,然后点击一个按钮,拍摄照片,当然没有剪影在图片里.

如何才能做到这一点?我似乎找不到任何关于如何在纹理视图上放置叠加层的示例.

camera android android-camera

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

随时可能将DroidCam视频流式传输到OpenCV Python

我目前在我的android上安装了Droid cam应用程序,它已被检测到并通过wifi(Droid Cam客户端)在Skype上流式传输。但是,无论我输入什么数字,它都不会流到OpenCV。

cap=cv2.VideoCapture()
Run Code Online (Sandbox Code Playgroud)

除此之外,我还有一个IP地址,请问有什么方法可以实现此目的,以便OpenCV可以从摄像机无线读取过程图像?我知道它甚至还没有开始读取相机,因为我已经使用以下代码对其进行了测试,每次运行它都会返回FALSE。

cap=cv2.Videocapture(0) #Use default cam
i=0
while(i<50):
    ret,frame=cap.read()
    print ret
Run Code Online (Sandbox Code Playgroud)

不断返回false,表示无法识别相机:L

python android opencv android-camera

3
推荐指数
2
解决办法
5479
查看次数

如何使用CameraSource拍照?

当我想使用相机拍照时,我在CameraSource上遇到一些问题。我想要的只是用我在xml文件上创建的按钮拍照,并使用“ CameraSource”拍照,因为我也在使用“ TextRecognizer”。相机工作正常,但是当我按下按钮拍照时会出现问题。

清单文件:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)

我的变量:

SurfaceView cameraView;
TextView textView;
CameraSource camera_source;
final int RequestCameraPermissionID = 1001;
Run Code Online (Sandbox Code Playgroud)

类:

// Starting the CameraSource. This will be in the 'OnCreate' function. This function works.
private void OpenCameraSource(){
        final TextRecognizer textRecognizer = new TextRecognizer.Builder(getApplicationContext()).build();
        if (!textRecognizer.isOperational()) {
            Log.w("Steal_Activity", "Detector activity are not yet available");
            Toast.makeText(getApplicationContext(),"Detector activity are not yet available",Toast.LENGTH_SHORT).show();
        } else {
            camera_source = new CameraSource.Builder(getApplicationContext(),textRecognizer)
                    .setFacing(CameraSource.CAMERA_FACING_BACK)
                    .setRequestedPreviewSize(1280, 1024)
                    .setRequestedFps(2.0f)
                    .setAutoFocusEnabled(true)
                    .build();
            cameraView.getHolder().addCallback(new SurfaceHolder.Callback() …
Run Code Online (Sandbox Code Playgroud)

android surfaceview android-camera

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