Android用の1つのアプリケーションでAudioTrackクラスを使用していますが、「無効なオーディオバッファサイズ」という例外が発生することがあります。私はFFTを使うつもりであるので、バッファサイズを2の累乗にして、それ以来、この例外を得ることがあります。理由は何ですか?AndroidでクラスAudioTrackを2倍のバッファサイズで試しましたか?
おかげで、 ダニエル
私のコードは非常に単純です:
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`
はい、バッファサイズはフレームサイズの倍数である必要があります。しかし、ドキュメントは決して "フレーム"が何であるか説明しません。 – Curtis