当前位置: 首页 > 知识库问答 >
问题:

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

佴涵蓄
2023-03-14

我正在尝试使用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上找到的一个线程创建的,恐怕我不记得是哪一个了。

共有2个答案

闻人高卓
2023-03-14

如果你觉得你已经按照所有正确的程序激活你的相机,但失败了,那么对于我来说,我不得不在模拟器中尝试内置相机,以排除任何可能是我的代码。我意识到,正如你所报告的,默认的相机应用程序也产生了同样的错误。

因此,经过几次试验(添加空间、内存、更多清单文件、清除谷歌游戏服务数据、更新游戏服务等),我决定在视窗10 x64机器上使用Android Studio(早期的机器是视窗7 x64)。令我惊讶的是,错误消失了,相机没有崩溃。现在,我不知道这是否与操作系统(Win 7)或处理器或任何其他硬件或软件问题有关。如果你还没有使用视窗10,你可以试试这个。

后焕
2023-03-14

您是否添加了:

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

在你的货单上?

 类似资料:
  • 我正在通过将前置摄像头设置为 AVD 管理器中的“webcam0”来将网络摄像头连接到模拟器。当我启动模拟器的相机应用程序时,我收到错误 以下是 Android 源代码的相关部分: 网络摄像头已被正确分配了0的ID,因为只有1个摄像头。但是,可能仍然为0。这意味着模拟器正在注册摄像头,但它没有费心更新连接的摄像头数量。 如何连接网络摄像头,使其能够被模拟器正确识别? 编辑:命令

  • 有人知道模拟器相机启动时是否有可能打开一些个人照片吗? 我有一个基于图像分析的应用程序,我想当我点击相机的按钮时,相机打开的不是默认的Android emulator运动图像。我希望它打开一些我设置为默认图像的图像。因此,当我选择拍照时,它将只显示该图像,当我拍照时,该图像将保存到gallery,而不是Android默认图像。

  • 编辑:我上传了一段视频到youtube,显示了现在发生的事情。当我旋转60度(俯仰或偏航)时,我会感到奇怪的摇晃。如您所见,鼠标输入工作正常(没有不需要的滚动,滚动后本地会发生俯仰/偏航) 我正试图在我正在制作的OpenGL游戏中实现一个飞行模拟器摄像头。我遵循了本页底部提到的内容,对视图矩阵的计算结果如下: 其中,我根据鼠标输入计算一个增量俯仰/偏航四元数,然后将其应用于相机的方向。然后,我根据

  • 我正在开发一个web应用程序,它可以浏览和拍摄本地照片,我还想通过相机拍摄图像。我使用下面的代码,我可以捕捉设备摄像头。 现在,我想获得图像和onchangeevent,转换为base64,并希望在该页面中显示。 好心帮我伙计们!

  • 这是我关于堆栈溢出的第一个问题,如果我错过了指南,请原谅。 我已经在我的macbook air上安装了android Studio 1.0.1并运行avd。 我已经添加了模拟的前端和后端相机。 当我单击模拟器的默认相机应用程序时,它向我显示模糊的屏幕,没有图片视图。 首先,我试着尽可能多地搜索。没有找到与我相关的错误主题。这就是为什么我在这里发布了我的问题。希望学长不要介意。 屏幕截图显示了我对相

  • 问题内容: 如何连续从摄像头捕获图像? 我想尝试对象识别(也许使用Java Media Framework)。 我当时正在考虑创建两个线程 一个线程: 节点1:捕获实时图像 节点2:将图片另存为“ 1.jpg” 节点3:等待5秒 节点4:重复… 其他线程: 节点1:等到捕获图像 节点2:使用“ 1.jpg”获取每个像素的颜色 节点3:将数据保存在数组中 节点4:重复… 问题答案: 此JavaCV实