在Java中播放.wav文件
大家好,我正在尝试开发一个声音播放器与java使用剪辑。 我在docs.oracle.com上学习了教程,但我不懂。 这是我的密码在Java中播放.wav文件,java,Java,大家好,我正在尝试开发一个声音播放器与java使用剪辑。 我在docs.oracle.com上学习了教程,但我不懂。 这是我的密码 import java.io.File; import java.io.IOException; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.sou
import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
public class SoundPlayer{
public static void main(String[] args) {
try {
Clip clp = AudioSystem.getClip();
AudioInputStream is = AudioSystem.getAudioInputStream(new File("1_welcome.wav"));
clp.open(is);
clp.start();
} catch (LineUnavailableException e) {
e.printStackTrace();
} catch (UnsupportedAudioFileException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我的问题是,当我运行应用程序时,什么也没有发生。设置音量-
clp.open(is);
FloatControl volume = (FloatControl) play.getControl(FloatControl.Type.MASTER_GAIN);
volume.setValue(1.0f);
clp.start();
要使用Clip播放声音,该过程必须是活动的。因此,我们使用Swing应用程序。试试这个
import java.io.IOException;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
import java.net.URL;
import javax.swing.*;
public class SoundPlayer extends JFrame {
public SoundPlayer() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Test Sound Clip");
this.setSize(300, 200);
this.setVisible(true);
try {
// Open an audio input stream.
URL url = this.getClass().getClassLoader().getResource("china.mid");
AudioInputStream audioIn = AudioSystem.getAudioInputStream(url);
// Get a sound clip resource.
Clip clip = AudioSystem.getClip();
// Open audio clip and load samples from the audio input stream.
clip.open(audioIn);
clip.start();
} catch (UnsupportedAudioFileException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (LineUnavailableException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new SoundPlayer();
}
}
由于我只是将这个相对路径
“china.mid”
与类加载器一起使用,所以我在build/classes/
目录中有“china.mid”
文件。在Eclispe中,如果您的文件位于正确的位置,我会将其放在bin/
目录中如果文件位于正确的位置,请尝试使用其他文件。同时检查您机器的音量:P