簡體   English   中英

JMF + mp3plugin.jar mp3 文件不播放

[英]JMF + mp3plugin.jar mp3 files is not playing

我有這個代碼:

    package test;

import java.io.File;

import javax.media.Format;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.PlugInManager;
import javax.media.format.AudioFormat;

public class AudioTest {
    public static void main(String[] args) {
        Format input1 = new AudioFormat(AudioFormat.MPEGLAYER3);
        Format input2 = new AudioFormat(AudioFormat.MPEG);
        Format output = new AudioFormat(AudioFormat.LINEAR);
        PlugInManager.addPlugIn(
            "com.sun.media.codec.audio.mp3.JavaDecoder",
            new Format[]{input1, input2},
            new Format[]{output},
            PlugInManager.CODEC
        );
        try{
            Player player = Manager.createPlayer(new MediaLocator(new File("1.mp3").toURI().toURL()));
            player.realize();
                        player.start();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
}

我正在嘗試播放 mp3 文件,mp3plugin 已添加到項目庫以及 jmf jar 中。 控制台上沒有錯誤,但聽不到聲音。

該文件沒有播放。 .wav 文件播放正常。

任何的想法 ?

JMF 是一個糟糕的選擇。 該項目很久以前就被放棄了。 我在這里回答了一個類似的問題:

Java - 嘗試使用 mp3plugin 播放 mp3 文件時出錯

它可能對你有用 - 我正在使用 Java Sound

以下是我播放音樂所需的全部內容。

public static void main(String args[]) throws NoPlayerException, CannotRealizeException, IOException {
    MediaLocator ml = new MediaLocator((new File("roar_of_future.mp3").toURL()));
    Player player = Manager.createRealizedPlayer(ml);
    player.start();
}

因此,請確保mp3plugin.jar在類路徑中,並且您的 javasdk 是 Java 8(32 位)或 7(32 位),因為 JMF 不適用於 Java 9 及更高版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM