How do you determine the audio latency (AudioTrack) on Android?

后端 未结 4 1165
情歌与酒
情歌与酒 2020-12-31 13:19

I have an app in which I use an AudioTrack in streaming mode to play dynamically generated audio. The app doesn\'t have to respond instantaneously to inputs, s

4条回答
  •  无人及你
    2020-12-31 13:55

    You should take into account the buffersize you passed along into the AudioTrack creation.

    final int minBufSize = AudioTrack.getMinBufferSize(Application.PLAYRATE,
    AudioFormat.CHANNEL_OUT_STEREO, AudioFormat.ENCODING_PCM_16BIT);
    
    out=new AudioTrack(AudioManager.STREAM_MUSIC, Application.PLAYRATE, 
    AudioFormat.CHANNEL_OUT_STEREO, AudioFormat.ENCODING_PCM_16BIT, minBufSize, 
    AudioTrack.MODE_STREAM);
    
    extraLatencyFrames = minBufSize/4;
    

提交回复
热议问题