android - 设置相机拍摄图像的分辨率

标签 android android-camera android-camera-intent

在我的应用程序中,我通过内置相机 Activity 拍摄图像并将其存储在 SD 卡中。我正在使用 intent.putextras 获取高分辨率图像。

第一个设备-代码成功运行,我得到了分辨率为 640X480 的图像。

第二个设备-当内置相机 Activity 要求保存捕获的图像时,它会强制关闭。但是,当我将设备的摄像头分辨率明确更改为 640X480 并重新运行应用程序时,它工作得非常好。

问题:-

  1. 克服这个问题的方法 ??
  2. 这可能是与 Android 版本相关的问题吗?两个设备的安卓版本不同。
  3. thera 是一种将分辨率参数 (640,480) 传递给内置相机 Activity 的方法吗?还是需要自拍 Activity ??

代码如下

public void onClick(View v) {
    // TODO Auto-generated method stub

    if(v.getId()!=1000){
        imageFile = "bmp"+v.getId()+".png";

        File f = new File (folder,imageFile);
         imageUri = Uri.fromFile(f);
        Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageUri);
        startActivityForResult(i,CAMERA_PIC_REQUEST);   
    }
    if(v.getId()==1000){
        Intent openFinalShow = new Intent("com.integrated.mpr.FINALSHOW");
        startActivity(openFinalShow);
        finish();
    }

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub

    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == RESULT_OK){
            return;
    }
}

最佳答案

我认为不可能将分辨率参数有意传递给库存相机。这里存在关于具有不同摄像头的不同手机的问题,以及用户可能拥有不同的默认摄像头应用程序而无法识别所述 Intent 附加功能的可能性。

您的问题的解决方案是编写自定义相机 Activity ,使用您自己的预览和相机设置。然后您可以正确设置录制的图像/视频的分辨率。以及预览窗口的分辨率和/或大小等。

camera developer guide和其他对自定义 android 相机示例的搜索将很有用

关于android - 设置相机拍摄图像的分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12093670/

相关文章:

java.lang.RuntimeException : Failure delivering result ResultInfo{who=null, request=131074,结果=-1,data=Intent {(有额外内容)}}到 Activity

java - Android - 使用 MediaPlayer 播放 RTSP 音频流

android - 如何在子目录中将资源文件分成几个部分

android - 在相机中强制人像模式

java - 默认开启前置摄像头

android - action_image_capture 重启应用

java - 如何在 ImageView 中显示捕获的图像?

android - 广告请求成功,但由于缺少广告资源而没有返回广告

java - 无法解析方法 getSupportActionBar().setDisplayHomeAsUpEnabled(true);

android - 从相机拍照而不预览