짧은 배열의 PCM 샘플이 있습니다. 이것을 재생하는 가장 좋은 방법은 무엇입니까? 형식은 8000Hz, 모노, 16 비트, 빅 엔디안입니다. 합니다 (PCM 샘플 코드에서 생성 된 일부 파일을 읽어되지 않음)이 거의 간단합니다Java에서 pcm 원시 데이터 재생 방법
덕분에 javax.sound.sampled 패키지와
짧은 배열의 PCM 샘플이 있습니다. 이것을 재생하는 가장 좋은 방법은 무엇입니까? 형식은 8000Hz, 모노, 16 비트, 빅 엔디안입니다. 합니다 (PCM 샘플 코드에서 생성 된 일부 파일을 읽어되지 않음)이 거의 간단합니다Java에서 pcm 원시 데이터 재생 방법
덕분에 javax.sound.sampled 패키지와
,하지만 당신은 몇 가지 상용구를 사용해야합니다.
여기 그에 좋은 튜토리얼입니다 :
www.wikijava.org/wiki/Play_a_wave_sound_in_Java은 기본적으로 당신이 당신의 배열에서 InputStream
을 만들고 AudioInputStream
을 만들 것을 사용해야합니다. 여기서 오디오 데이터의 형식을 지정해야합니다.
그런 다음 출력 스트림 (SourceDataLine
)을 열고 오디오 스트림의 바이트를 해당 스트림으로 복사합니다.
이 기사를 확인하십시오 - http://download.oracle.com/javase/tutorial/sound/playing.html.
특히, SourceDataLine과 AudioFormat을 설정하는 방법에 대해 읽어보십시오.
팁 주셔서 감사합니다. 이 방법을 시도했지만 제대로 pcm 데이터를 재생할 수 없습니다, 나는 잡음 만 얻을 수 있습니다. 아마도 AudioFormat에 약간의 설정 문제가있을 것입니다. 하지만 난 주위에 일을 발견 : 나는/tmp/x.wav를 재생 FileOutputStream (/ tmp/x.wav) 및 exec'd aplay 명령 (리눅스에서 alsa 유틸리티)에 pcm 데이터를 버렸어. – Geos