2011-07-30 7 views
4

私はフラッシュモードをトーチに設定するアプリケーションを書いています。私はDroid Xでアプリケーションをテストしていますが、LEDライトは点灯しません。私はDroid Incredibleで試してみましたが、うまくいきました。私は問題が何であるか把握できません。ここでは、トーチモードをオンにするための私のコードの一部です。Parametersを設定する.FLASH_MODE_TORCHがDroid X 2.3で動作しない

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 Xではなく、Droid Xでは実行できないものがありますか?またはGingerbreadで何かできますか? Droid XはGingerbreadを実行し、Droid IncredibleはFroYoを実行しています。

答えて

4

Droid Xがトーチモードをサポートしていない可能性があります。

 List<String> pList = camera.getParameters().getSupportedFlashModes(); 

     if (pList.contains(Parameters.FLASH_MODE_TORCH)) 
      parameters.setFlashMode(Parameters.FLASH_MODE_TORCH); 


     camera.setParameters(parameters); 
6

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に描画するプレビューが必要です。

は、多くの場合、あなたはカメラのプレビューを開始する必要があります。これは、あなたのアクティビティにSurfaceHolder.Callbackインターフェイスを実装することによって実行できます。 例を参照してくださいhere

+0

これはTORCHをサポートしていないいくつかのフロントカメラでクラッシュします。少なくともtry catchに囲まれていなければなりません。 –

0

Droid Xで動作することがわかったのは、Siddhpura Amitが提示したコードです。答えはUse camera flashlight in Androidです。彼は製造業者をチェックし、文字列「モトローラ」が含まれているかどうかを調べる。もしそうなら、彼はカメラのフラッシュLEDをオンまたはオフに切り替えることができる特別なコードを持っています。私はモトローラドロイドX.

0

を持っているように私はそれが仕事をしていることを確認することができますIssue 191453を参照してください:

SurfaceTexture mDummy = new SurfaceTexture(1); // any int argument will do 
camera.setPreviewTexture(mDummy); 
camera.startPreview(); 
関連する問題