过去几天我一直在用Java研究声音文件,我想我终于可以试着让声音运转起来。
我编码了一小部分,但遗憾的是,运行后没有声音播放 在某个地方是否存在我没有看到的错误,或者此代码无效。感谢。
import java.applet.Applet;
import java.applet.AudioClip;
import java.net.URL;
public class driver {
public static void main ( String [] args ) throws Exception {
URL resourceUrl = new URL("file:;///C:/Users/Jack/Desktop/Pok/pokemon.wav");
final AudioClip clip = Applet.newAudioClip(resourceUrl);
clip.loop();
}
}
答案 0 :(得分:3)
让我们从...开始......
URL resourceUrl = new URL("file:;///C:/Users/Jack/Desktop/Pok/pokemon.wav");
除了路径中有;
不属于的事实外,还有一种更简单的方法可以从URL
生成File
URL url = new File("C:/Users/Jack/Desktop/Pok/pokemon.wav").toURI().toURL();
然后转到这个......
final AudioClip clip = Applet.newAudioClip(resourceUrl);
查看您的代码,您的程序不是applet,因此您实际上不应该使用基于Applet
的方法。
有关更好的方法,请先查看Sound Tutorial
可能看起来更像......
URL url = new File("C:/Users/Jack/Desktop/Pok/pokemon.wav").toURI().toURL();
AudioInputStream ais = AudioSystem.getAudioInputStream(url));
Clip clip = AudioSystem.getClip();
clip.open(ais);
clip.start();
clip.drain(); // Stop the main thread from exiting
答案 1 :(得分:0)
这是打开音频片段的正确方法:
public SoundClipTest() { try { URL url = this.getClass().getClassLoader().getResource("pokemon.wav"); AudioInputStream audioIn = AudioSystem.getAudioInputStream(url); Clip clip = AudioSystem.getClip(); clip.open(audioIn); clip.start(); } catch (UnsupportedAudioFileException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (LineUnavailableException e) { e.printStackTrace(); } }
答案 2 :(得分:0)
嗯,我认为您的网址有问题,但不确定。但是你可以尝试这个来播放声音:
String mySound = "pokemon.wav";
Media media = new Media(mySound);
MediaPlayer mp = new MediaPlayer(media);
mp.play();
你应该在你的java文件所在的文件夹中有pokemon.wav。