37

私が望むLED強度を設定する方法はありますか?私が使用するLEDをオンにすることを知っています:

     p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
     mycam.setParameters(p);

しかし、このコードはLEDをオンにするだけです。しかし、より強い光のために、または光の強度を減らすために、LEDに異なる強度を設定する方法はありますか?

4

5 に答える 5

26

HTCにはこれをサポートする代替APIがありますが、これはHTC Senseデバイスでのみ使用でき、Gingerbreadの時点で権限が変更されているため、サードパーティのアプリではなく、Flashlightアプリ専用です(rootを使用しない場合)。

ただし、2.2 HTCデバイスでは、に文字列を書き込むことで使用できます/sys/devices/platform/flashlight.0/leds/flashlight/brightness。これは、LEDがオンかどうかとその明るさを制御します。最大輝度書き込み"128\n"の場合、半分輝度書き込み"64\n"。adbシェルから簡単にテストできます:

echo "128" > /sys/devices/platform/flashlight.0/leds/flashlight/brightness

そして最後にそこに書いてそれをオフにし"0\n"ます。

于 2011-08-05T16:32:28.893 に答える
5

簡単な答えは:いいえ。
より長い答え-おそらく、文書化されていない呼び出し/パラメータを使用している一部のデバイスで。サポートされているフラッシュモード、およびそれらの意味(および動作)はデバイスごとに異なります。

最善のオプションは、サポートされているフラッシュモードを照会し、それらが意図したとおりに機能することを期待することです。

于 2011-08-05T11:02:36.247 に答える
4

カメラパラメータに使用できるさまざまなフラッシュモードを設定してみてください。

* FLASH_MODE_OFF
* FLASH_MODE_AUTO
* FLASH_MODE_ON
* FLASH_MODE_RED_EYE
* FLASH_MODE_TORCH

setFlashMode()メソッドを使用してフラッシュモードを設定できます。

これはカメラのバックライト用でした。ただし、画面全体の強度を変更したい場合。こちらの例をご覧ください。

于 2011-08-02T07:11:05.993 に答える
2

この関数のコードを見つけてみてください。

private native final void native_setParameters(String params);

あなたがそれを通して見るとき、あなたがこれが可能であるかどうかわかるだろうと私は信じます。

を見るとpublic、それは不可能のようです

于 2011-08-05T09:03:30.487 に答える
2

私はSamsungGalaxyS3Miniでこれを試しました。他のデバイスで試したことはありません。

私がこれを行うときはいつでも(LEDがオンになっている間):

public void changeIntensity()
{
    cam.stopPreview();
    cam.startPreview();
}

LEDは3レベルの強度の間で回転します。意味がありませんが、機能します。

于 2013-12-06T10:31:40.330 に答える