3

我想使用 JLayer 来解码 MP3 文件。我已经搜索并搜索了有关如何执行此操作的文档和示例,但没有发现任何用处。我发现的所有内容都嵌入在其他示例或引用 JavaSound 中,这在我的情况下是不可接受的。

我觉得这非常容易,但我不知道该怎么做。不知道参数是干什么用的

Decoder decoder = new Decoder();
decoder.decodeFrame(Header header, Bitstream stream);

或如何获得它们。

tl;dr 如何解码只有 JLayer 的 MP3 文件?没有 MP3 SPI、JavaSound、Tritonus——什么都没有。

4

1 回答 1

4

我自己想通了。

Bitstream bitStream = new Bitstream(new FileInputStream("path/to/audio.mp3"));

while(condition){
    Decoder decoder = new Decoder();
    int[] samples = decoder.decodeFrame(bitStream.readFrame(), bitStream); //returns the next 2304 samples
    bitStream.closeFrame();

    //do whatever with your samples
}
于 2012-09-15T05:33:56.397 回答