1

私はこのコードを持っています:

    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がプロジェクトライブラリとjmfjarに追加されています。コンソールにエラーはありませんが、音が聞こえません。

ファイルが再生されていません。.wavファイルは正常に再生されています。

何か案が ?

4

2 に答える 2

3

JMFは悪い選択肢です。プロジェクトはずっと前に放棄されました。私はここで同様の質問に答えました:

Java-mp3ファイルを再生するためにmp3pluginを使用しようとするとエラーが発生します

それはあなたにとって役に立つかもしれません-私はJavaサウンドを使用しています

于 2013-02-19T14:42:13.113 に答える
0

以下は私が音楽を演奏するために必要なすべてです。

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();
}

したがって、JMFはJava 9以降では機能しないため、 mp3plugin.jarがクラスパスにあり、javasdkがJava 8(32ビット)または7(32ビット)であることを確認してください。

于 2019-10-31T18:15:06.753 に答える