gpt4 book ai didi

java - 将 .wav 转换为数组

转载 作者:行者123 更新时间:2023-11-30 04:25:33 25 4
gpt4 key购买 nike

import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.UnsupportedAudioFileException;


public class Audio_to_bytes {

public static void main(String args[]) throws IOException
{
File WAV_FILE = new File("/home/cybersecurity/Desktop/scream.wav");
ByteArrayOutputStream out = new ByteArrayOutputStream();
AudioInputStream in = null;
try {
in = AudioSystem.getAudioInputStream(WAV_FILE);
} catch (UnsupportedAudioFileException e) {

e.printStackTrace();
} catch (IOException e) {

e.printStackTrace();
}


int read,i;
byte[] buff = new byte[1024];
while ((read = in.read(buff)) > 0)
{
out.write(buff, 0, read);
}
out.flush();
byte[] audioBytes = out.toByteArray();
for(i=0;i<audioBytes.length;i++)
System.out.println(audioBytes[i]);
}
}

上面的代码是将.wav文件转换为字节数组。当我执行程序时,我得到很多值,如-128或-127,我想知道这些值是精确值还是值变成如果超出字节范围(-128 到 128),则为边界值,如果是这样,我可以将音频文件转换为整数数组,因为它的范围更广。

最佳答案

原始文件是无关紧要的,因为 WAVE 文件是使用 block 构建的。我建议首先了解这些 block ,RIFF File Format ,了解 WAVE 文件。

关于java - 将 .wav 转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15943263/

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