바이트 배열을 AudioInputStream으로 변환하려고합니다. 이전에는 * .wav 파일에서 바이트 배열을 채 웠습니다. 나는 다음과 같은 코드가 있습니다바이트 배열을 Java의 AudioInputStream으로 변환하는 방법
public static AudioInputStream writeBytesBackToStream(byte[] bytes) {
ByteArrayInputStream baiut = new ByteArrayInputStream(bytes);
AudioInputStream stream = null;
try {
stream = AudioSystem.getAudioInputStream(baiut);
} catch (UnsupportedAudioFileException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if(stream.equals(null) || stream == null) {
System.out.println("WARNING: Stream read by byte array is null!");
}
return stream;
}
가 지금은 단지 AudioInputStream를에이 바이트 배열을 변환 할을하지만, UnsupportedAudioFileException가 발생합니다 :
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input stream
사람이 생각이있어나요?
사용 [이] (http://docs.oracle.com/javase/1.5.0/docs/ api/javax/sound/sampled/AudioSystem.html # isFileTypeSupported (javax.sound.sampled.AudioFileFormat.Type)). wav 파일을 지원하는지 확인하고 wav 파일을 getAudioInputStream에 전달하여 테스트 할 수 있습니다. 문제가 bytearray 또는 파일 자체 인 경우 – fmodos
바이트 배열이 올바른지 확인하기 위해 wav 파일 로딩 코드를 게시 할 수 있습니까? – gma
Durandel의 대답은 정확하다고 생각하지만이 입문서를 읽는 것이 도움이 될 수 있습니다. http://blog.bjornroche.com/2013/05/the-abcs-of-pcm-uncompressed-digital.html –