以前出来ていたカメラのフラッシュライトの点灯が出来なくなりました(涙
■やりたいこと
⇒カメラ画像を表示しながら、フラッシュライトを点灯させる
■エラー内容
java.lang.RuntimeException: Fail to connect to camera service
⇒フラッシュライトを点灯しようとしたときに、「カメラが取得できません」と怒られる
※具体的には以下の箇所
------------------------------------------原因を調べていたら、以前の記事にも関係しているかもしれないことに気づきました。
※プラグイン側のプログラム(Java)
private Camera camera = null;
private Parameters parameters;
public void lightOn() {
if(camera == null) {
camera = Camera.open(); // <---ここでエラーが起きる
parameters = camera.getParameters();
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
}
}
------------------------------------------
自分なりに調べて得た結論としては、
WebcamTextureがカメラ機能を専有しているときにプラグイン側がフラッシュライトを点灯しようとすると
占有権がバッティングする。
そのため、プラグイン側ではカメラ機能を専有できない = フラッシュライトを点灯できない。
ということで、フラッシュライトを点灯させる前に、WebcamTextureの「Stop()」メソッドを使ったら
無事フラッシュライトは点灯しました。
だけど、今度はカメラ画像の取得が止まります。
あっちを立てればこっちが立たず。。。
この辺は工夫で乗り切ろう。
UnityScriptの「Handheld」クラスにフラッシュライトの制御が追加されないかなー。
そうすれば、プラグインを使わなくて済むのに。