[英]Change volume java using jlayer?
我搜索並閱讀了其他主題,但仍然無法解決我的問題。 我有一個Java主類和一個Java JFrame。 我想添加jslider來改變我的mp3播放器中的音量。 我該怎么辦?
my_player2_func
class my_player2_func {靜態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?}
JLayer是解碼器 。 按照其定義,它對音量一無所知,這就是播放聲音的音頻硬件的工作。
您的問題源於您正在使用Player和defaul JavaSoundAudioDevice類的事實,這些類是作為播放MP3的簡短示例,而不是作為完整的音頻播放器的基礎。
您將必須復制或修改JavaSoundAudioDevice的源代碼(JLayer源代碼的一部分),並對其進行破解以支持音量控制。 等等,您可以控制音量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.