gpt4 book ai didi

java - 如何在Visual Studio代码中的tinySound中加载Sound对象?

转载 作者:行者123 更新时间:2023-12-03 01:14:50 24 4
gpt4 key购买 nike

这是库 tinySound 提供的示例
:https://github.com/finnkuusisto/TinySound/blob/master/example/TinySoundExample.java
我阅读了示例,并编写了基本代码来测试其功能:

TinySound.init();
Music forest = TinySound.loadMusic("absolutepath/day.ogg");
forest.play(true);
执行后,我得到:
Unable to find resource /absolutepath/day.ogg!
我使用Visual Studio代码工作,并且想知道为什么Java即使在输入的路径是绝对路径且资源在工作区中时也找不到文件。
这是简化的项目树结构:
/Project
|------/ResourceMusic-----/forest----day.ogg
|------/lib
|------/bin
|------/src----Main.java (location of my test of tinySound)

最佳答案

为了确认您提供的文件结构,我假设以下两个文件。

Project/src/Main.java
Project/ResourceMusic/forest/day.ogg
我会尝试以下方法:
  Music forest = TinySound.loadMusic("ResourceMusic/forest/day.ogg");
但是我不是100%肯定会奏效。
这是我对正在发生的事情的最佳理解。
文字类 TinySound包含以下用于读取资源的代码(经过多次验证):
URL url = TinySound.class.getResource(name);
现在,如果 name是一个相对地址,则该文件应该相对于 TinySound类本身所在的文件夹定位。但是由于前面加上了“/”(可以通过查看源代码看到),因此使用了绝对地址。因此,项目源的顶部文件夹用作根地址。
例如,我有一个名为“ScratchPad”的Eclipse项目。其中包含一个名为“dodads”的包,其中包含以下类:
package dodads;

import java.net.URL;

public class TestAbsoluteAddressing
{

public static void main(String[] args)
{
TestAbsoluteAddressing taa = new TestAbsoluteAddressing();
taa.doAbsTest();
}

private void doAbsTest()
{
URL url = this.getClass().getResource("myAudio.wav");
URL url2 = this.getClass().getResource("/myAudio.wav");

if (url != null) System.out.println("relative found");
else System.out.println("relative not found");

if (url2 != null) System.out.println("absolute found");
else System.out.println("absolute not found");
}
}
以下文件结构引起“相对找到”和“绝对找不到”:
ScratchPad/src/doodads/TestAbsoluteAddressing.java
ScratchPad/src/doodads/myAudio.wav
以下文件结构引起“相对找不到”和“绝对找到”:
ScratchPad/src/doodads/TestAbsoluteAddressing.java
ScratchPad/src/myAudio.wav
现在,令人担忧的是,您给我的文件结构不包含“src”文件夹。因此,我不确定我给您的地址是否可以使用。

关于java - 如何在Visual Studio代码中的tinySound中加载Sound对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62835430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com