2017-02-02 7 views
0

カメラの懐中電灯を特定の時間、理想的には0.5秒ごとに約2msの精度で点滅させる必要があります。私はそれをうまく管理していますが、setTorchModeへの呼び出しはほぼ1/2秒かかると思われます。私はRunnableに呼び出しを入れようとしましたが、(期待通りに)バックログが作成されます。ここで私のタイミング測定である:setTorchModeが非常に遅いですが、どうすれば通話をスピードアップできますか?

public void doFlash() { 
     if (cameraManager == null) return; 
     try { 
      Log.d(TAG,"1="+System.nanoTime()/1000000); 
      cameraManager.setTorchMode(cameraId, true); 
      Log.d(TAG,"2="+System.nanoTime()/1000000); 
      yield(); 
      Log.d(TAG,"3="+System.nanoTime()/1000000); 
      cameraManager.setTorchMode(cameraId, false); 
      Log.d(TAG,"4="+System.nanoTime()/1000000); 
      Log.d(TAG,"-------------"); 
     } catch (Exception e) { 
      Log.d(TAG, "Could not switch on flash"); 
     } 
    } 
} 

02-02 23:06:57.950 17528から17792/tech.glasgowneuro.attyseeg D/EPFragment:1 = 1662873286 02-02 23:06:58.668 17528から17792/D/EPフラグメント:2 = 1662874004 02-02 23:06:58.668 17528-17792/tech.glasgowneuro.attyseeg D/EPフラグメント:3 = 1662874004 02-02 23:06:59.149 17528-17792/tech.glasgowneuro.attyseeg D/EPFragment:4 = 1662874484 02-02 23:06:59.149 17528-17792/tech.glasgowneuro.attyseeg D/EPFragment:------------- 02- 02 23:06:59.149 17528-17792/tech.glasgowneuro.attyseeg D/EPフラグメント:1 = 1662874484 02-02 23:06:59.649 17528-17792/tech.glasgowneu D/EPフラグメント:2 = 1662874985 02-02 23:06:59.649 17528-17792/tech.glasgowneuro.attyseeg D/EPフラグメント:3 = 1662874985 02-02 23:07:00.074 17528-17792/tech。 glasgowneuro.attyseeg D/EPFragment:4 = 1662875409

なぜこの機能が長くかかるのでしょうか?より速い他の通話がありますか、これは2ms以内にどのように行うことができますか?

答えて

0

私はそれが1/3から1秒(サムスンギャラクシーS7)の間にかかります。古い「カメラ」とは対照的に、これは点滅したい場合には使用できません。

関連する問題