나는 문제가있다. 자바에서는 wav 파일에서 샘플을 읽어야합니다. 파일 형식은 다음과 같습니다. wav, PCM_SIGNED, signed int of 2bytes = 16bits, little endian ... 개체가 BYTES에서 오디오 샘플을 읽고이 두 바이트를 하나의 double 값으로 변환해야합니다. 나는이 공식을 사용하려고하지만 완전히 정확하지입니다 :signed int (2 바이트, 16 비트)를 double 형식으로 변환합니다. Java로
mono = (double)((audioBytes[k] & 0xFF) | (audioBytes[k + 1] << 8));
난 항상 matlab에의 실제 값과 자바에서 변환 한 차이를 알 matlab에와 결과를 비교. 아무도 나를 도와 줄 수 있습니까? 감사합니다, Dave
짧은 시퀀스의 예와 예상되는 출력의 예 및 실제 출력의 예가 있습니까? –
audioBytes [k]가 byte이면 audioBytes [k] 및 0xFF == audioBytes [k]이므로 마스크는 쓸모가 없습니다. –
audioBytes [k] == -1 인 경우 audioBytes [k] 및 0xFF == 255 (결과를 System.out.println에 전달한 후). –