android - 设置 Parameters.FLASH_MODE_TORCH 在 Droid X 2.3 上不起作用

标签 android camera android-camera flashlight

我正在编写一个将闪光灯模式设置为手电筒的应用程序。我一直在我的 Droid X 上测试应用程序,但 LED 灯不亮。我在 Droid Incredible 上试过,效果很好。我不知道是什么问题。这是我打开手电筒模式的部分代码。

    Camera mCamera = Camera.open();
    Camera.Parameters params = mCamera.getParameters();
    if(params.getFlashMode() != null){
        params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
    }
    mCamera.setParameters(params);

我添加了 mCamera.startPreview();因为我读到应该有所作为,但事实并非如此。我还列出了可用的闪光灯模式并将它们显示在屏幕上,以确保我的 Droid X 确实具有手电筒模式,并且它在列表中。我什至根据我在网上找到的代码创建了一个新的应用程序,它可以通过一个按钮打开和关闭 LED 闪光灯。它再次在 Droid Incredible 上运行良好,但在 Droid X 上运行良好。我是否缺少某些东西才能让它在 Droid X 上运行,或者它可能是 Gingerbread 的东西? Droid X 正在运行 Gingerbread,而 Droid Incredible 正在运行 FroYo。

最佳答案

设置 FLASH_MODE_TORCH 时有很多怪癖。

通常您需要启动相机预览:

Camera mCamera = Camera.open();
mCamera.startPreview();
Camera.Parameters params = mCamera.getParameters();
if(params.getFlashMode() != null){
    params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
}
mCamera.setParameters(params);

这可能会在某些手机上解决它,其他手机也需要将预览绘制到 SurfaceView。这可以通过在您的 Activity 中实现 SurfaceHolder.Callback 接口(interface)来完成。 查看示例 here .

关于android - 设置 Parameters.FLASH_MODE_TORCH 在 Droid X 2.3 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6881004/

相关文章:

java - 如何使我的 Android 可刷卡 CardView 更像 IOS 7 邮件应用程序(滑动以显示按钮)

java - com.google.firebase.database.DatabaseException : Can't convert object of type java. lang.String 类型 com.test.consti.last.QuestionEntry

android - 在 Canvas 上绘制两个 3D 字符串?

c# - Unity Camera Size 网络播放器

java - 图像未保存在我的相机应用程序中

android - 在弹出窗口上禁用动画

android - 如何在 Android 中使用 facebook sdk 在 facebook 中发布消息?

ffmpeg rtsp 记录段和文件夹-文件名

android - 如何原型(prototype)算法运行在 android 相机图像上?

Android 相机按需自动对焦