안드로이드 기기에서 오디오 지연값을 자동으로 계산하는 방법

아래 메소드를 이용하면 기기상의 오디오 설정을 인식하여 계산된 레이턴시 값을 반환합니다.

원래는 Android SDK상에서 제공되는 메소드입니다.
하지만 Private 메소드라서 일반적인 접근이 불가능하여 Reflection을 이용, 접근 후 값을 가져오는 방식입니다.

public int getAndroidLatency() {
   int latency = 0;
   AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
   try {
      Method m = am.getClass().getMethod("getOutputLatency", int.class);
      latency = (Integer) m.invoke(am, AudioManager.STREAM_MUSIC);
   }
   catch (Exception e) {
   }
   return latency
}

Leave a Reply

Your email address will not be published. Required fields are marked *