Eclipse中的Android摄像头/网络摄像头模拟器不断崩溃

问题描述 投票:1回答:2

我正在尝试使用PC的内置网络摄像头在Android应用程序中拍照。我正在使用eclipse Android模拟器并将AVD设置为将webcam0用作后置摄像头,但是当我运行我的程序时,它总是崩溃,并说“不幸的是,摄像头已停止”。我已将以下行添加到清单XML:

    <uses-permission android:name="android.permission.CAMERA"/>

尽管它似乎仍然不起作用。我读过一些地方,在AVD管理器的“编辑/创建”屏幕中应该有一个“硬件”部分,但我的却没有。

“”

我想念什么吗?这是我尝试运行该应用程序时出现的日志猫:

“”

关于可能发生的事情的任何想法?我到处都在寻找解决方案,但似乎找不到能解决这个确切问题的任何解决方案。感谢您的帮助。

编辑这是我的图像捕获按钮/方法代码:

/* Create capture button */
Button capture = (Button) findViewById(R.id.btnCapture);
capture.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
    //create directory/picture file
    count++;
    file = dir + count + ".jpg";
    File picFile = new File(file);
    try {
        picFile.createNewFile();
        } catch (IOException e) {}       
    Uri outputFileUri = Uri.fromFile(picFile);
    Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
    startActivityForResult(cameraIntent, TAKE_PHOTO_CODE);
}
});

/* Check if valid photo */
@Override
protected void onActivityResult(int requestCode, int resultCode, final Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == TAKE_PHOTO_CODE && resultCode == RESULT_OK) {
    Log.d("CameraDemo", "Pic saved");
}
}

此代码主要是基于我在SO上找到的线程创建的,恐怕我不记得是哪一个了。

java android eclipse camera emulation
2个回答
0
投票

您添加了:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"

在你的清单上?


0
投票

如果您认为您已按照所有正确的步骤启动了相机,但失败了,那么就我而言,我不得不尝试在模拟器中安装内置相机,以排除它是我的密码的任何可能性。我意识到默认的相机应用程序正在产生相同的错误-如您所报告的。

因此,经过几次试验:(添加了空间,ram,更多清单文件,清除了Google Play服务数据,更新了Play服务等),我决定在Windows 10 x64机器上使用Android Studio(较早的版本是Windows 7 x64)。令我惊讶的是,错误消失了,相机也没有崩溃。现在,我不知道它是否与OS(Win 7)或处理器或任何其他硬件或软件问题有关。如果您尚未使用Windows 10,则可以尝试此操作。

© www.soinside.com 2019 - 2024. All rights reserved.