0

JavaプログラムからOGGVorbisファイルを再生しようとしています。PCMファイル(* .wav)は、次のコードで正常に機能します。

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をダウンロードして、jarをクラスパスに配置しました。ウィキペディアのこのサンプルoggを試してみました。しかし、それでも機能しません。UnsupportedAudioFileExceptionが発生します。

私が間違っている可能性があることを知っていますか?

4

2 に答える 2

0

おっと...クラスパスにすべての依存関係がなかったことが判明しました:tritonus_share.jar、jorbis-0.0.15.jar、jogg-0.0.7.jar。

于 2012-12-10T07:52:44.687 に答える