은 압축 된 형식 (MP3 또는 OGG와 같은)의 오디오 데이터를 포함하고 있으므로 입력의 WAV 변환을 포함하는 byte
배열을 만들려고합니다. 데이터. 아래 그림과 같이오디오 파일을 임시 파일없이 Java의 WAV 바이트 배열로 변환
java.io.IOException: stream length not specified
나는 다시 그것을 읽은 후, 임시 파일에 WAV를 작성하여 작동하도록 얻을 관리 :이 작업을 수행하려고하면 불행하게도, JavaSound는 당신에게 다음과 같은 오류를 손
AudioInputStream source = AudioSystem.getAudioInputStream(new BufferedInputStream(in, 1024));
AudioInputStream pcm = AudioSystem.getAudioInputStream(AudioFormat.Encoding.PCM_SIGNED, source);
AudioInputStream ulaw = AudioSystem.getAudioInputStream(AudioFormat.Encoding.ULAW, pcm);
File tempFile = File.createTempFile("wav", "tmp");
AudioSystem.write(ulaw, AudioFileFormat.Type.WAVE, tempFile);
// The fileToByteArray() method reads the file
// into a byte array; omitted for brevity
byte[] bytes = fileToByteArray(tempFile);
tempFile.delete();
return bytes;
이것은 분명히 바람직하지 않습니다. 더 좋은 방법이 있습니까?
나는 그것을 시도해야 할 것이다. 내가 그것을 시도하기 전에 그것은 조금일지도 모른다. 그래서 나는 대답을 지금 받아 들일 수 없다. 그래도 나는 그것을 upvote거야. –