gpt4 book ai didi

java - 如何在 Java 中获取声音文件的总时间?

转载 作者:IT老高 更新时间:2023-10-28 20:53:06 25 4
gpt4 key购买 nike

如何在 Java 中获取声音文件的总时间?

--更新

看起来这段代码确实有效:long audioFileLength = audioFile.length();

    recordedTimeInSec = audioFileLength / (frameSize * frameRate);

我知道如何获取文件长度,但我不知道如何获取声音文件的帧速率和帧大小...任何想法或链接?

-- 更新

另一个工作代码(使用@mdma 的提示):

    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));

最佳答案

给定一个文件你可以写

File file = ...;
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);
AudioFormat format = audioInputStream.getFormat();
long frames = audioInputStream.getFrameLength();
double durationInSeconds = (frames+0.0) / format.getFrameRate();

关于java - 如何在 Java 中获取声音文件的总时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3009908/

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