7

我编写了一个简单的手电筒应用程序,我已经在 HTC Sensation、Nexus 7、HTC One、Moto X、Galaxy S3、Galaxy S4 和 Nexus 5 上进行了测试。唯一无法使用的是 Nexus 5 . 它不会抛出异常,所以找出问题所在是很困难的。

这是我一直在使用的代码,它适用于所有东西,但是:

            sCamera = Camera.open();
            sParameters = sCamera.getParameters();
            sParameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
            sCamera.setParameters(sParameters);
            sCamera.startPreview();

这是 LogCat 应该打开 LED 时发生的屏幕截图:http: //i.imgur.com/vXn5PoH.png

我从 Nexus 5 中提取了闪光模式列表,上面显示它们是:开、关、自动、手电筒和红眼。这些和预期的一样。我已经测试过在开、关和手电筒之间切换,但没有任何东西使灯光闪烁。而且我知道 LED 没有坏,因为其他手电筒应用程序工作正常。

4

1 回答 1

8

这听起来与赛义德提到的完全一样……尝试如下设置表面视图:

    try {
        sCamera.setPreviewTexture(new SurfaceTexture(0));
    } catch (IOException ex) {
        // Ignore
    }
于 2014-07-04T18:14:28.593 回答