こんにちは、私はこのコードを持っています
AudioTrack audioTrack;
public void playAccordeon() {
int minBufferSize = AudioTrack.getMinBufferSize(44100,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
int bufferSize = 512;
if (audioTrack == null) {
audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 44100,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT, minBufferSize,
AudioTrack.MODE_STREAM);
audioTrack.play();
}
int i = 0;
byte[] s = new byte[bufferSize];
try {
InputStream fin = getResources().openRawResource(R.raw.accordeon);
while ((i = fin.read(s)) != -1) {
audioTrack.write(s, 0, i);
}
fin.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
それは機能しますが、最初にサウンドを再生すると問題なく再生されますが、2番目と3番目..再生すると「クリック」のような音がします(多くのサウンドファイルを試しました)
何をすべきか?ありがとう