java文件长度_Java中的音频文件长度
我在解決基于它的字節(jié)的mp3文件中的數(shù)據(jù)時(shí)遇到問題.
輸出的第一部分是正確的,我有一個(gè)長(zhǎng)達(dá)254秒的mp3文件,我從Github的mp3解析庫mp3agic獲取它的信息.
但是,關(guān)于幀長(zhǎng)度和持續(xù)時(shí)間的信息的第二部分是不正確的.
Length of this mp3 is: 254 seconds
Bitrate: 320 kbps (CBR)
Sample rate: 44100 Hz
Has ID3v1 tag?: NO
Has ID3v2 tag?: YES
Has custom tag?: NO
framelength -1
framerate 38.28125
duration -271265.06
我用來獲取幀長(zhǎng)度,幀速率和持續(xù)時(shí)間的代碼是:
File file = musicFile.getFileValue();
this.audioStream.startMusicStream(file);
try {
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));
System.out.println("framelength "+frameSize);
System.out.println("framerate "+frameRate);
System.out.println("duration "+durationInSeconds);
this.setDurationLabel(durationInSeconds);
} catch (Exception e) {
e.printStackTrace();
}
所有的拳頭,為什么幀長(zhǎng)和其他測(cè)量甚至是負(fù)的?那有什么意思?如何使用audioinputstream和audioformat中的信息準(zhǔn)確計(jì)算mp3文件的持續(xù)時(shí)間?
總結(jié)
以上是生活随笔為你收集整理的java文件长度_Java中的音频文件长度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: k8s滚动更新(六)--技术流ken
- 下一篇: NICO dataset