gpt4 book ai didi

java - 引用文件路径时出现filenotfoundexception

转载 作者:行者123 更新时间:2023-12-03 02:28:44 24 4
gpt4 key购买 nike

我正在尝试开发一款使用歌曲的游戏。这首歌作为背景音乐播放。

我正在尝试分析音频频谱的当前频率并输出其值。我已经使用FFT算法来获取频率,但是现在我需要获取歌曲的长度。所以我正在使用此代码:

FileHandle filemain = Gdx.files.internal("data/determination.mp3");
File file = new File(filemain.toString());
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);
AudioFormat format = audioInputStream.getFormat();
long audioFileLength = file.length();
int frameSize = format.getFrameSize();
float frameRate = format.getFrameRate();
float durationInSeconds = (audioFileLength / (frameSize * frameRate));

但随后返回 FILENOTFOUNDEXCEPTION。使用 Gdx.files.internal("data/determination.mp3");可以正常工作。但是我不能在 AudioInputSream声明中使用它,因为它需要一个文件,而不是文件句柄。如果我像上面一样在 AudioInputStream中使用文件路径,它将返回错误。

我要去哪里错了?我该如何解决?

最佳答案

查看File对象的Java 7 API,特别是有关构造函数的部分,看来该对象需要使用String构造,该String给出文件或URI的正确文件路径。

在此处查看指向文件的所有可用重载构造函数的此链接:docs.oracle.com/javase/7/docs/api/java/io/File.html#constructor_summary

尝试以下操作:将mp3文件位置作为String对象提供给File对象的构造函数,就像对FileHandle对象构造函数所做的那样。或者,将.mp3放置在文件系统上的其他位置,然后尝试使用绝对路径进行调用。

如果这样做不起作用,请引用本文档,以各种方式读取文件并在游戏引擎中创建FileHandle对象:Different ways to construct FileHandle objects

关于FileHandle对象API,还有很多信息:FileHandle API

祝您的视频游戏好运。我想尝试某天用于您的游戏的游戏引擎。这个或jMonkey3D游戏引擎。 :D

关于java - 引用文件路径时出现filenotfoundexception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22119371/

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