0 java
嗨...我搜索了网站,发现另一个正常工作的代码.
现在我有另一个问题:
当我从blow类创建对象并将音频地址发送到其构造函数时,我必须发送完整的地址,如:
"C:\ Documents and Settings\TheHero\My Documents\NetBeansProjects\project1\src\project1\s1.wav"
但我想使用这个代码只是声音的名称:"s1.wav".
我复制的声音进入src文件夹,然后使用"s1.wav",结果是"java.io.FileNotFoundException".
如果我使用完整的声音地址,当我在另一台计算机上运行该程序时,它不起作用.我是正确的?
//**************
公共类MusicPlayer {
private String filename;
public MusicPlayer(String filename) {
this.filename = filename;
}
public void play() {
try {
InputStream in = new FileInputStream(filename);
AudioStream as = new AudioStream(in);
AudioPlayer.player.start(as);
} catch (IOException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
//************
我对图像有同样的问题.当我使用这些代码时,我必须使用完整的图像地址
File input = new File(imageName);
image = ImageIO.read(input);
Run Code Online (Sandbox Code Playgroud)
请有人帮助我!我真的需要这些!谢谢大家......
您可以使用URL来检索图像和声音文件.例如:
new ImageIcon(getClass().getResource("/com/foo/myimage.png")));
Run Code Online (Sandbox Code Playgroud)
...将从com.foo包中检索图像文件,假设它位于某个地方的类路径上(例如捆绑在一个jar文件中).
编辑
对于声音片段,您采取类似的方法; 例如:
URL url = getClass().getResource("/com/foo/sound.wav");
AudioStream as = new AudioStream(url.openStream());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |