gpt4 book ai didi

Java getAudioInputStream 尝试读取音频文件,得到 javax.sound.sampled.UnsupportedAudioFileException,

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

我正在尝试使用我在这里找到的代码在我的 java 程序中加载 wav 文件:
How do I get a sound file's total time in Java?

但是,在第 14 行:

AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);

我收到错误

"Unhandled exceptions: javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException"

这是我的代码:

import java.nio.file.FileSystems;
import java.io.File;
import java.nio.file.Path;
import javax.sound.sampled.*;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;

public class Main {

public static void main(String[] args) {
Path path = FileSystems.getDefault().getPath("").toAbsolutePath();
File file = new File(path+"/sample/loop1.wav");
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));
}

}

我想制作一种方法来选择音频文件中的起始播放点(例如:在 30 秒处开始播放文件)。这就是为什么我不想检索文件的持续时间。

当我执行 System.out.println(file); 时,它会打印文件的正确路径。但是,由于我收到错误消息,因此显然我没有做正确的事情。

我已经尝试在网上寻找解决方案,但没有找到任何东西,所以我在这里发布。

感谢您的关注。

最佳答案

AudioSystem.getAudioInputStream 抛出这些异常。

这些是checked exceptions因此,您必须使用 try ... catch block 来捕获异常,或者在方法声明中添加 throws 子句。

基本的try ... catch 是:

try
{
Path path = FileSystems.getDefault().getPath("").toAbsolutePath();
File file = new File(path + "/sample/loop1.wav");

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));
}
catch (UnsupportedAudioFileException | IOException ex)
{
ex.printStackTrace();
}

关于Java getAudioInputStream 尝试读取音频文件,得到 javax.sound.sampled.UnsupportedAudioFileException,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53468606/

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