2013-07-17 1 views
0

제목은 기본적으로 내 이야기를 말하고, 나는 직접 자바 프로그램에서 스피커 시스템으로 오디오를 보내고 싶다. 나는/dev/linux의 스피커에 직접 글을 쓰려고했다. 오디오 파일에서 얻은 바이트를 사용하는데, 필자가 잘 모르겠지만, Windows에서는 난처함을 넘었습니다.스피커에 오디오 dircetly 보내기 java

public void play(byte[] audio){ 
    if(OS.isWindows){//This is where i have no idea, maybe write to javasound with jmf? 
} 
if(OS.isLinux){ 
    BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream("/dev/blahblah"); 
    bout.write(audio) 
    bout.flush(); 
    bout.close(); 
} 

내 코드는 거의 복잡하지 않지만 복잡한 코드를 원한다고 생각합니다. 그러나 작업 코드를 원합니다. 나는 실제로 위의 코드를 시도했다. 두려움 때문에 내가 무엇을하고 있는지 알지 못했고, 아마도 내 PC에서 무언가를 다치게하거나 방해 할 수 있었다. 그래서 라이브러리를 선택 -

답변

0

할 수 있습니다뿐만 아니라 cat tune.wav > /dev/dsp 이상 (하지 some tricks없이), 그리고 방법은이 을 시도하는 것은 너무 낮은 수준의 소리.

javax.sound (단순) 및 JMF (추가 기능)과 같은 표준 행운을 빕니다.

또는 Jogamp JOAL (기능이 풍부한)과 같은 타사 라이브러리를 사용해 볼 수도 있습니다.이 라이브러리는 Windows 및 Linux에서 (기본 라이브러리를 통해) 사용할 수 있습니다.

편집은 : MP3를 들어

  1. 은 그냥 당신이 javax.sound와 함께 자신의 롤 this answer

  2. 을 쉽게 할 볼 수 있습니다 자바 7의 javafx로 발견 : 위해 만드는이 튜토리얼을 따라 SPI *을 사용하여 AudioFileReader MP3를 처리합니다. (이전 SPI 링크가 특정 javax.sound 참고하지만, SPI is a general concept)

  3. 는 또한 JMF는 MP3 파일 with this을 처리 할 수 ​​방법에 둥지 항아리 등 단일 유물을 제공하기로 결정 있다면 당신은 조회 할 수 있습니다.

+0

내 유일한 문제는 mp3에 대한 지원이 없다는 것입니다. 나는 당신이 mp3를 해독 할 수있는 몇 가지 복잡한 과정을 알고 있지만, 어떻게 해야할지 모른다. mp3를 디코딩하는 방법에 대한 예제 코드를 javax.sound에 제공 할 수 있다면 사운드 라이브러리를 사용하고 싶습니다. – Terra

+0

@Terra, 업데이트 됨 : MP3 =) – earcam

+0

감사합니다. 잘 해! javafx를 사용하는 한 가지 질문으로, 컴파일하는 동안 항아리를 내제에 중첩 시켜야만 사용자간에 쉽게 전송할 수 있습니까? – Terra

관련 문제