Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中播放wav文件_Java_Eclipse_Audio_Wave - Fatal编程技术网

如何在java中播放wav文件

如何在java中播放wav文件,java,eclipse,audio,wave,Java,Eclipse,Audio,Wave,我环顾了stack overflow和其他一些网站,但我找不到任何有用的东西。我需要有可以播放音频文件的代码,该音频文件与Class.java文件在同一个文件中。换句话说,我需要它来播放文件,而不需要键入文件的确切位置,就像我把它发送给朋友一样。以下是我所拥有的: import java.applet.*; import java.net.*; public class MainClass extends Applet { public void init() { try { A

我环顾了stack overflow和其他一些网站,但我找不到任何有用的东西。我需要有可以播放音频文件的代码,该音频文件与Class.java文件在同一个文件中。换句话说,我需要它来播放文件,而不需要键入文件的确切位置,就像我把它发送给朋友一样。以下是我所拥有的:

import java.applet.*;
import java.net.*;
public class MainClass extends Applet {

public void init() {
  try {
     AudioClip clip = Applet.newAudioClip(
                    new URL(“file://C:/sound.wav”));
     clip.play();
  } catch (MalformedURLException murle) {
  murle.printStackTrace();
}
}

但我不能让它在任何地方播放,只有那个特定的文件夹。有没有办法不在文件位置前键入“URL”来执行此操作?

我相信
Applet.audioClip()
是用于Applet内部的,而不是桌面应用程序。限制之一是您只能使用URL来定位声音资源。另一方面,它的用途更广泛。它允许您使用
文件
对象以及许多其他选项定位声音资源


您还需要弄清楚如何引用您的文件。特别是,如果要使用相对路径,则需要确定环境将从哪个基本路径开始。将向您提供有关如何解决此问题的更多详细信息。

更改您的URL声明,将
“file://C:/sound.wav”
更改为
“file:C:/sound.wav”


*我已经测试过它,在NetBeans IDE下工作得很好

您试过
file:///sound.wav
?是的,它没有播放任何内容:(您的音频文件是否位于您的项目目录中,还是位于src/中的
C://
My目录中。我把它放在.java文件的旁边。C:/只是用作一个示例。这个链接可能会有所帮助,它是关于将资源嵌入java项目。link-我不这样认为,file://对我有用。您尝试过吗?
“文件://C:/sound.wav"
没有显示任何错误,但声音无法播放。实际上,您需要让文件sound.wav:PI已经使用另一个重命名为
sound.wav的wav文件对其进行了测试,使用
文件:C:/sound.wav
声明效果很好,但是如果您的问题是因为您的系统中没有这样的sound.wav,然后大笑:PHaha,不,我能让它用
播放声音。”file:///c:/Sound.wav“
因为我把它放在那里也是为了测试它!
import java.applet.*;
import java.net.*;
public class MainClass {
public static void main(String[] args) {
  try {
     AudioClip clip = Applet.newAudioClip(
                    new URL("file:C:/sound.wav"));
     clip.play();
  } catch (MalformedURLException murle) {
  murle.printStackTrace();
}}}