标签: android-camera

第二次运行时相机崩溃.(由于VM内存不足错误)

嗨我在我的活动中使用这段代码用于相机.

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == TAKE_PICTURE_WITH_CAMERA) {
        if (resultCode == Activity.RESULT_OK) {

            // To Write the Images in SDCard
            File f = new File(imgName);
            try {
                Uri capturedImage = Uri
                                 .parse(android.provider.MediaStore.Images.Media
                                     .insertImage(getContentResolver(),
                                     f.getAbsolutePath(), null, null));

                Log.i("camera",
                      "Selected image: " + capturedImage.toString());

                pic.setImageURI(capturedImage);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        } else {
            Log.i("Camera", "Result code was " + resultCode);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试将捕获的图像应用到我的身上ImageView.第一次,相机拍照并将其设置为ImageView.但是当我第二次运行它时,我的应用程序无法将新捕获的图像设置为imageView.从相机意图返回后它崩溃了.我怎么解决这个问题?任何帮助表示赞赏.

android android-camera

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

如何定位多个API级别?

我希望在两个独立的API级别上使用Android的Camera.open()方法.首先是API级别7,它是2.1和更高,第二个是2.3.3和2.3.4,它们是API级别9.

在API级别7和8上,Camera.open方法不接受任何参数.在API级别9及更高级别,摄像机采用整数参数,为其提供要使用的cameraId.

如何在同一代码中定位两个API级别?与此伪代码类似的东西:

Camera lCamera;
if (Platform.APILevel < 7){
  lCamera.open();
}else { 
  lCamera.open(0);
}
Run Code Online (Sandbox Code Playgroud)

android android-camera android-api-levels

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

在Android相机界面上添加一个虚线圆圈

我正在开发一个人脸识别应用程序.我需要在我的相机界面上显示一个小的虚线圆圈,以放置人的脸部,这样用户可以训练应用程序,而不是拍摄不同比例的照片.我按照"此链接",但我不知道如何在相机界面上这样做.那么有人可以上传一个示例项目或给我一些继续我的项目吗?提前致谢..

编辑-2013-02-14
确定代码正常工作.但我还有另外两个问题.

  1. 我可以画圆圈.但它始终不在同一个位置.当屏幕尺寸改变时,它的位置总是在变化.我尝试使用getWidht()和getHeight()方法,但我无法在屏幕中央绘制圆圈.你对此有什么想法吗?

  2. 根据你的回答,我必须以编程方式创建所有视图.所以现在我需要在我的界面上添加一个捕获按钮.你可以用你的答案解释一下吗?

android android-camera android-canvas

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

录制时我们可以暂停相机吗

在我的应用程序中,我具有计时器驱动的视频录制功能。当相机处于录制模式时,如果我单击屏幕上任意位置的按钮,则录制应暂停。我应该能够在再次单击时继续记录。

但在许多android设备中都没有暂停录制视频的动作。

还有其他方法吗?我找到了此链接,但没有给我任何希望。

有谁能够帮助我?

camera android video-recording android-camera

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

Android代码相机意图+裁剪图像的说明

想要拍摄照片,裁剪并将图像保存在Android应用程序中时,我在Java中使用以下意图...

            Intent camera=new Intent();
            camera.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
            camera.putExtra("crop", "true");
            camera.putExtra("outputX",600);
            camera.putExtra("outputY", 600);
            camera.putExtra("aspectX", 1);
            camera.putExtra("aspectY", 1);
            camera.putExtra("scale", true);
            camera.putExtra("return-data", false); 
Run Code Online (Sandbox Code Playgroud)

上述意图效果很好,但我的Y和X总是相等的.我打算分解代码,找出指定的内容,这样我就可以为我拍摄的图像制作可定制的 - 最重要的是独立的 - X和Y值...

android crop android-camera android-camera-intent resize-crop

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

MediaCodec.configure上的非法例外

我正在尝试使用Camera的onPreviewFrame回调来学习编码mp4或任何类型的视频文件.

目前,我正在尝试这篇文章中的示例代码

使用Android MediaCodec从摄像头编码H.264

不幸的是,我一直在收到IllegalException

mediaCodec.configure(mediaFormat,null,null,MediaCodec.CONFIGURE_FLAG_ENCODE);

MediaCodec.configure Android的另一篇文章 IllegalStateException,我注意到我必须为MediaCodec设置一些强制值.

我尝试了所有强制性mediacodec的强制性值,但仍然没有过去的运气

IllegalException.

现在我有点想要尝试的想法.任何建议,意见或提示将不胜感激.

谢谢

11-04 12:27:14.785      175-894/? E/mm-libcamera2? PROFILE HAL: stopPreview(): E: 1383596834.803557773
11-04 12:27:14.795      175-175/? E/OMXNodeInstance? !!! Observer died. Quickly, do something, ... anything...
11-04 12:27:14.795     208-5797/? E/mm-camera? config_shutdown_pp Camera not in streaming mode. Returning.
11-04 12:27:14.795     208-5797/? E/mm-camera? vfe_ops_deinit: E
11-04 12:27:14.825     175-5814/? E/OMX-VENC-720p? ioctl VEN_IOCTL_CMD_READ_NEXT_MSG failed
11-04 12:27:14.825      175-175/? E/OMX-VENC-720p? Destroy C2D instance
11-04 12:27:14.835      527-539/? E/qcom_sensors_hal? hal_process_report_ind: Bad item quality: 11
11-04 12:28:17.642    6241-6247/? …
Run Code Online (Sandbox Code Playgroud)

android android-camera mediacodec

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

解锁手机后Android相机预览停止

我有一个Android项目的问题,我们的相机预览停止,但只有在手机被锁定然后解锁,它也无法拍照,这个问题让我真的难倒,我一直无法找到任何信息关于互联网上的这个错误,似乎正在做所有教程/其他堆栈溢出问题的状态:

@Override
protected void onResume() { 
    super.onResume(); 
    mPreview.setVisibility(View.VISIBLE); 
    //Open the default i.e. the first rear facing camera. 
    mCamera = Camera.open(); 
    try{ 
         mCamera.reconnect(); 
    } catch(Exception ex) { 
    } 
    mCamera.startPreview(); 
    cameraCurrentlyLocked = defaultCameraId; 
    mPreview.setCamera(mCamera); 
} 

@Override 
protected void onPause() { 
    super.onPause(); 
    mPreview.setVisibility(View.GONE); 
    //Because the Camera object is a shared resource, it's very 
    //Important to release it when the activity is paused. 
    if (mCamera != null) { 
        mPreview.setCamera(null); 
        mCamera.stopPreview(); 
        mCamera.release(); 
        mCamera = null; 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

错误(拍照时)如下:

02-25 13:26:20.710: W/dalvikvm(17873): threadid=1: thread exiting with …
Run Code Online (Sandbox Code Playgroud)

java android android-camera

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

使用Android Camera API时,快照照片的方向始终为未定义

我使用相机api,拍摄的照片总是旋转90度,我想旋转它.

首先,我想知道图片的方向,这一点我卡住了.我总是以两种方式获得UNDEFINDED方向.

这是代码:

    @Override
        public void onPictureTaken(byte[] data, Camera camera) {


            //Bitmap Options for lowering quality the bitmap to save memory
            Options options = new BitmapFactory.Options();
            options.inSampleSize = 4;
            options.inPreferredConfig = Bitmap.Config.RGB_565;

            //Make the bitmap
            Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length, options);

            //Making the path, the root will be fine for tests
            String path = Environment.getExternalStorageDirectory().toString();

            //output stream
            OutputStream outputStream = null;
            //Making the file as a jpg
            File file = new File(path, "tmp_pic" + ".jpg"); // the File to …
Run Code Online (Sandbox Code Playgroud)

camera android exif orientation android-camera

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

如何在XML布局中使用扩展类?

我为相机预览创建了一个扩展的SurfaceView类.

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

    CameraPreview(Context context) {
        super(context);

        mHolder = this.getHolder();
        mHolder.addCallback(this);
        mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    }

    public void surfaceCreated(SurfaceHolder holder) {
        // The Surface has been created, acquire the camera and tell it where
        // to draw.
        try {
            mCamera = Camera.open();
            mCamera.setPreviewDisplay(holder);
        } catch (Exception e){
            Log.wtf("surfaceCreated", e.toString());
        }
    }

    public void surfaceDestroyed(SurfaceHolder holder) {
        try {
            mCamera.stopPreview();
            mCamera.release();
            mCamera = null;
        } catch (Exception e){
            Log.wtf("surfaceDestroyed", e.toString());
        }
    }

    public void …
Run Code Online (Sandbox Code Playgroud)

android surfaceview android-layout android-camera

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

CameraSource .setAutoFocusEnabled(true)返回:虽然设备支持自动对焦,但此设备不支持相机自动对焦

下面是我的条码扫描器活动,除了setAutoFocusEnabled(true)之外,一切正常.它在运行时返回一条消息,说明我的设备不支持自动对焦,尽管三星Tab E T561是一个支持自动对焦的设备.

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.util.SparseArray;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.widget.EditText;

import com.google.android.gms.vision.CameraSource;
import com.google.android.gms.vision.Detector;
import com.google.android.gms.vision.barcode.Barcode;
import com.google.android.gms.vision.barcode.BarcodeDetector;

import java.io.IOException;

import static com.google.android.gms.vision.CameraSource.CAMERA_FACING_BACK;
import static com.google.android.gms.vision.CameraSource.CAMERA_FACING_FRONT;

public class ScanBarcodeActivity extends AppCompatActivity {

    private String TAG = "ScanBarcodeActivity";
    private BarcodeDetector barcodeDetector;
    private SurfaceView cameraView;
    private CameraSource cameraSource;
    private EditText cardNo;


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

    @Override
    protected void onResume() {
        cameraView = (SurfaceView) findViewById(R.id.surfaceViewCamera);
        cardNo = (EditText) findViewById(R.id.editTextBarcode); …
Run Code Online (Sandbox Code Playgroud)

android barcode-scanner autofocus android-camera android-vision

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