gpt4 book ai didi

java - AudioClip 音量问题

转载 作者:行者123 更新时间:2023-12-03 02:29:45 25 4
gpt4 key购买 nike

我在 how to implement audio sounds in Java games 上观看了 Mattew 的精彩教程.

问题是即使我在运行游戏时降低了wav文件的音量,在Java中wav声音文件的音量仍然很高,我的意思是你甚至不能玩游戏,因为背景音乐是太吵了。

为什么 wav 文件的体积没有在 Java 中维护?

最佳答案

使用基于 Java Sound 的 Clip 可能会更好。比基于小程序的 AudioClip . Clip接口(interface)支持控件,其中一个应该是MASTER_GAIN .

例如。

import java.awt.*;
import java.net.URL;
import javax.swing.*;
import javax.swing.event.*;
import javax.sound.sampled.*;

class ClipVolume {

public static void main(String[] args) throws Exception {
URL url = new URL(
"http://pscode.org/media/leftright.wav");
final Clip clip = AudioSystem.getClip();
// getAudioInputStream() also accepts a File or InputStream
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
clip.open(ais);
clip.loop(Clip.LOOP_CONTINUOUSLY);
Runnable r = new Runnable() {

@Override
public void run() {
final FloatControl control = (FloatControl)
clip.getControl(FloatControl.Type.MASTER_GAIN);

final JSlider volume = new JSlider(
JSlider.HORIZONTAL,
(int) control.getMinimum(),
(int) control.getMaximum(),
(int) control.getValue());
volume.addChangeListener(new ChangeListener() {

public void stateChanged(ChangeEvent ce) {
control.setValue(volume.getValue());
}
});

JOptionPane.showMessageDialog(null, volume);
}
};
// Swing GUIs should be created and updated on the EDT
// http://docs.oracle.com/javase/tutorial/uiswing/concurrency
SwingUtilities.invokeLater(r);
}
}

关于java - AudioClip 音量问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20873057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com