2012-12-10 1 views
0

Java 프로그램에서 OGG Vorbis 파일을 재생하려고합니다. PCM 파일 (* .WAV)이이 코드를 잘 작동 : 위해Vorbis SPI가 OGG 파일에 대해 UnsupportedAudioFileException을 throw합니다.

public void play(String resFile) throws Exception { 
    AudioInputStream audioInputStream = null; 

    URL audioSource = new File(resFile).toURL(); 
    audioInputStream = AudioSystem.getAudioInputStream(audioSource); 

    AudioFormat format = audioInputStream.getFormat(); 
    SourceDataLine line = null; 
    DataLine.Info info = new DataLine.Info(SourceDataLine.class, format); 

    line = (SourceDataLine) AudioSystem.getLine(info); 
    line.open(format); 

    line.start(); 
    int bytesRead = 0; 
    byte[] data = new byte[32 * 1024]; 

    try { 
     audioInputStream.mark(Integer.MAX_VALUE); 
     while(bytesRead != -1) { 
      bytesRead = audioInputStream.read(data, 0, data.length); 
      if(bytesRead >= 0) { 
       line.write(data, 0, bytesRead); 
      } 
      Thread.yield(); 
     } 
    } finally { 
     line.drain(); 
     line.close(); 
    } 
} 

은 OGG뿐만 아니라 파일을 재생할 수, 나는 Vorbis SPI을 다운로드하여 클래스 경로에 항아리를 넣어. this sample ogg from Wikipedia으로 해봤습니다. 하지만 여전히 작동하지 않습니다, 그것은 나에게 UnsupportedAudioFileException을 제공합니다.

내가 잘못하고있는 것을 알고 있습니까?

답변

0

죄송합니다 ... 내 클래스 경로에 종속성이 없습니다. tritonus_share.jar, jorbis-0.0.15.jar, jogg-0.0.7.jar.

관련 문제