Я работаю в одном приложении для Android с классом AudioTrack, и иногда я получаю исключение «Неверный размер аудио буфера».Поскольку я планирую использовать FFT, я делаю размер буфера степенью двойки, и с тех пор иногда получаю это исключение.Есть идеи, почему это так?
Спасибо, Даниэль
Мой код очень прост:
private void playTrack(short []buffer){
try{
Log.i(TAG,"Play track, Buffer size: "+buffer.length );
AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC,
mAudioIn.getFrequency(),
mAudioIn.getChannelConfig(),
mAudioIn.getAudioEncoding(),
buffer.length,
AudioTrack.MODE_STREAM);
audioTrack.play();
audioTrack.write(buffer, 0, buffer.length);
}catch(Throwable t){
Log.e(TAG,"Play track, something's wrong: "+t.getMessage()+ " When buffer size is:"+buffer.length );
}
}`enter code here`