Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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应用程序中导入音频文件:错位构造_Java_Audio_User Interface_Applet - Fatal编程技术网

尝试在我的java应用程序中导入音频文件:错位构造

尝试在我的java应用程序中导入音频文件:错位构造,java,audio,user-interface,applet,Java,Audio,User Interface,Applet,我遵循了将wav文件导入应用程序的教程。我不知道是否已将文件URL放置在正确的位置: public class Audioapp extends JApplet { public class Sound // Holds one audio file { private AudioClip song; // Sound player private URL songPath; // Sound path Sound(String f

我遵循了将wav文件导入应用程序的教程。我不知道是否已将文件URL放置在正确的位置:

public class Audioapp extends JApplet
{
    public class Sound // Holds one audio file
    {
        private AudioClip song; // Sound player
        private URL songPath; // Sound path
        Sound(String filename)
        {
            try
            {
                songPath = new           URL(getCodeBase(G:\Uni\Programming\Rolling assignements\Week0\Programming week21),filename); // Get the Sound URL
                song = Applet.newAudioClip(songPath); // Load the Sound
            }
            catch(Exception e){} // Satisfy the catch
        }
        public void playSound()
        {
            song.loop(); // Play
        }
    }
}
我得到的错误是:

“此行有多个标记 -令牌上的语法错误,放置错误 建造(s) -令牌上的语法错误,请删除这些 代币”

我将把URL放在哪里,也因为我想从特定的workplace文件夹而不是我的U盘播放这个文件,我会只放文件名而不是整个路径。我两个都试过了,但都不管用

有什么帮助吗


谢谢

很抱歉第一眼没注意到

  • 首先:URL需要一个字符串作为构造函数参数,而不是您所做的(注意参数周围的双引号。另外,查看getCodeBase()函数也会有所帮助)
  • 第二:由于您似乎缺乏经验,记住
    \
    字符是明智的,反斜杠通常用于转义字符,因此在大多数情况下,在字符串常量中使用时,必须通过将其加倍来转义

    songPath=newurl(getCodeBase(“G:\\Uni\\Programming\\rollingassignments\\Week0\\Programming week21”),文件名)

更好的方法是使用
File.separator
静态字段


还有,如果我是你的同事,我会用重物打你,同时对你大喊大叫。使用
e.printStackTrace()
,或适当的日志框架。老师通常不会因此打你,但会给你不好的分数…

你会犯什么错误?请发布完整的堆栈跟踪。我认为
getCodeBase()
方法将
String
作为参数。您忘记了文件路径上的双引号()正如iwawiwi所说,try
songPath=newurl(getCodeBase(“G:/Uni/Programming/rollingassignments/Week0/Programming week21”),文件名)谢谢伙计们^但我收到了这个错误“无效的转义序列(有效的是\b\t\n\f\r\”\'\\)”有什么想法吗?@dhali阅读我的答案,我完全配得上它,伙计!谢谢你的帮助,我会慢慢地学习…:)