私が望むLED強度を設定する方法はありますか?私が使用するLEDをオンにすることを知っています:
p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mycam.setParameters(p);
しかし、このコードはLEDをオンにするだけです。しかし、より強い光のために、または光の強度を減らすために、LEDに異なる強度を設定する方法はありますか?
私が望むLED強度を設定する方法はありますか?私が使用するLEDをオンにすることを知っています:
p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mycam.setParameters(p);
しかし、このコードはLEDをオンにするだけです。しかし、より強い光のために、または光の強度を減らすために、LEDに異なる強度を設定する方法はありますか?
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"
ます。
簡単な答えは:いいえ。
より長い答え-おそらく、文書化されていない呼び出し/パラメータを使用している一部のデバイスで。サポートされているフラッシュモード、およびそれらの意味(および動作)はデバイスごとに異なります。
最善のオプションは、サポートされているフラッシュモードを照会し、それらが意図したとおりに機能することを期待することです。
カメラパラメータに使用できるさまざまなフラッシュモードを設定してみてください。
* FLASH_MODE_OFF
* FLASH_MODE_AUTO
* FLASH_MODE_ON
* FLASH_MODE_RED_EYE
* FLASH_MODE_TORCH
setFlashMode()メソッドを使用してフラッシュモードを設定できます。
これはカメラのバックライト用でした。ただし、画面全体の強度を変更したい場合。こちらの例をご覧ください。
この関数のコードを見つけてみてください。
private native final void native_setParameters(String params);
あなたがそれを通して見るとき、あなたがこれが可能であるかどうかわかるだろうと私は信じます。
を見るとpublic
、それは不可能のようです
私はSamsungGalaxyS3Miniでこれを試しました。他のデバイスで試したことはありません。
私がこれを行うときはいつでも(LEDがオンになっている間):
public void changeIntensity()
{
cam.stopPreview();
cam.startPreview();
}
LEDは3レベルの強度の間で回転します。意味がありませんが、機能します。