다음은 2 audio input streams
의 오디오 데이터를 바이트 배열로 읽는 코드입니다.2 바이트 배열을 연결 한 다음 오디오 스트림으로 변환
import javax.sound.sampled.*;
import java.io.*;
class tester {
public static void main(String args[]) throws IOException {
try {
Clip clip_1 = AudioSystem.getClip();
AudioInputStream ais_1 = AudioSystem.getAudioInputStream(new File("D:\\UnderTest\\wavtester_1.wav"));
clip_1.open(ais_1);
Clip clip_2 = AudioSystem.getClip();
AudioInputStream ais_2 = AudioSystem.getAudioInputStream(new File("D:\\UnderTest\\wavtester_2.wav"));
clip_2.open(ais_2);
byte arr_1[] = new byte[ais_1.available()]; // not the right way ?
byte arr_2[] = new byte[ais_2.available()];
ais_1.read(arr_1);
ais_2.read(arr_2);
} catch(Exception exc) {
System.out.println(exc);
}
}
} 위의 코드에서
난 바이트를위한 ais_1,ais_2
array1,array2
있다. 이 2 바이트 배열 (arr_1,arr_2
)을 연결하고 다시 오디오 스트림으로 변환 할 수있는 방법이 있습니까? 2 개의 오디오 파일을 연결하고 싶습니다.
그것은 완전한 답변하지 않기 때문에 나는이 코멘트를 만들고있어 : 나는()'반드시을 .available 돌아갑니다'생각하지 않는다 스트림에서 사용 가능한 총 바이트 수 대신 'ais_1.frameLength * ais_1.frameSize'를 사용하면됩니다. – MusiGenesis