0

別のトピックを検索して読みましたが、まだ問題を解決できません。1 つの Java メイン クラスと 1 つの Java jframe がありました。mp3 プレーヤーの音量を変更するために jslider を追加したい。私は何をすべきか?

my_player2_func

class my_player2_func{ static Player player;

static void play() {
    try {
        FileInputStream fe = new FileInputStream(my_player2_main.str);
        player = new Player(fe);
    } catch (Exception ex) {
        System.out.println(ex);
    }

    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                player.play();
            } catch (Exception ex) {
                System.out.println(ex);
            }
        }
    }).start();
}     

static void stop() {
    if (player != null)
        player.close();
}    }

my_player2_main

public my_player2_main() {
    initComponents();     
}
static String str;                              

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    my_player2_func.play();
}                                        

private void jSlider1StateChanged(javax.swing.event.ChangeEvent evt) {//what should i do here?}
4

1 に答える 1

0

JLayerはデコーダーです。その定義上、音量については何も知りません。それは、サウンドを再生するオーディオハードウェアの仕事です。

問題は、PlayerクラスとデフォルトのJavaSoundAudioDeviceクラスを使用しているという事実に起因します。これらのクラスは、本格的なオーディオプレーヤーの構成要素としてではなく、MP3を再生するための短くて簡単な例として意図されていました。

JavaSoundAudioDeviceのソース(JLayerソースの一部)をコピーまたは変更し、ボリュームコントロールをサポートするためにハックする必要があります。音量を調節できます。

于 2012-08-24T10:40:27.357 に答える