나는 인터넷에서 오디오 파일을 스트리밍하고 재생하려고합니다. 이 코드 사용하고 있습니다 :자바 스트림 병렬 읽기/쓰기
int readBytes = 0;
byte[] audioBuffer = new byte[this.EXTERNAL_BUFFER_SIZE];
readBytes = in.read(audioBuffer, 0, audioBuffer.length);
while (readBytes != -1) {
readBytes = in.read(audioBuffer, 0, audioBuffer.length);
if (readBytes >= 0) {
dataLine.write(audioBuffer, 0, readBytes);
}
}
이 가진 문제는 스트림이 읽을 때, 그것은 기록되지 않는다는입니다. 따라서 음악은 몇 초마다 짧은 시간 동안 재생되지 않습니다. 그래서 스트림이 동시에 inputstream에서 읽고 데이터 라인에 쓸 수있는 방법이 있는지 궁금 해서요 그래서 쓰기가 결코 읽기 위해 일시 중지되지 않았습니다.
답변 해 주셔서 감사합니다. 네, Threads에 익숙합니다. 그래서 거기에 자바 API를 빌드하는 방법이 없다고 가정합니다. – Finaltransmit
스트리밍 할 API를 찾고 있다면 vlcJ 또는 xuggler를 권하고 싶습니다. 이전에는 이러한 행운을 보았습니다. vlcJ는 내가 생각할 수있는 가장 쉬운 API입니다. – vlatkozelka