【问题标题】:Android camera/webcam emulator in Eclipse keeps crashingEclipse中的Android相机/网络摄像头模拟器不断崩溃
【发布时间】:2013-12-17 12:04:53
【问题描述】:

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

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

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

我错过了什么吗?这是我尝试运行应用程序时出现的 logcat:

对可能发生的事情有什么想法吗?我到处寻找解决方案,似乎找不到任何解决这个确切问题的方法。感谢您的帮助。

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

/* 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 上找到的一个线程创建的,但恐怕我不记得是哪一个了。

【问题讨论】:

  • 看看这里。类似错误:stackoverflow.com/questions/7942378/…
  • 你试过在手机上运行你的代码吗?它崩溃了吗?另外,请发布您的代码,那里可能存在错误...
  • @Melquiades 我还没有在实际手机上运行它。它仍处于开发阶段,在将其加载到我的 Android 设备之前,我需要整理一些松散的东西。我已经添加了用于相机的代码。 user2511882,您链接的线程似乎以非常不同的方式使用相机。我不确定它是否根本无法按照我的方式完成,或者是否有办法在不添加新类的情况下让我的工作。
  • “虽然它似乎仍然不起作用” - 你是什么意思?是不是一开始就强制关闭?按下按钮?能否请您发布完整的代码,以便我可以检查我的模拟器?
  • 我在按下按钮时调用了该方法。该按钮称为“捕获”,当用户单击它时,它应该运行预先编程到设备中的相机捕获过程。我真的无法发布所有代码,它非常广泛并且包含许多不相关的个​​人数据。但是,如果您创建一个按钮来调用我上面显示的由 onClickListener 调用的方法,您应该能够毫无问题地模拟它。

标签: java android eclipse camera emulation


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    你添加了吗:

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

    在您的清单中?

    【讨论】:

    • 是的,当我第一次创建拍照方法时,我将它添加到清单中。无论如何,这不会导致它在拍照之前崩溃,不是吗?
    猜你喜欢
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    相关资源
    最近更新 更多