用java可以实现将vox格式音频文件转换成wav格式音频文件,请求指导
还有想知道,vox文件有文件头吗,网上查了,这方面的信息很少,如果有的话怎么用java读取
以下是自己下的demo
关于vox文件有24k和32k的,具体不是很懂,转换完成的文件杂声很大,想请了解这方面的人指导下,怎么才能成功转换,先谢过了!
以下是自己下的demo
public class Test {
static float sampleRate = 6000.0F; // 每秒的样本数
static int sampleSizeInBits = 4; // 每个样本中的位数
static int channels = 1; // 声道数(单声道 1 个,立体声 2 个)
static boolean signed = true; // 指示数据是有符号的,还是无符号的
static boolean bigEndian = false; // 指示是否以 big-endian 字节顺序存储单个样本中的数据(false 意味着 little-endian)
public static void trans() throws Exception{
File outFile = new File("F:/123.wav");
RandomAccessFile file = new RandomAccessFile("F:/1234123.v3", "r");
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byte tempBuffer[] = new byte[10000];
while (true) { //读取10000个数据
int cnt = file.read(tempBuffer, 0, tempBuffer.length);
if (cnt > 0) { //保存该数据
byteArrayOutputStream.write(tempBuffer, 0, cnt);
}else {
byteArrayOutputStream.close();
break;
}
}
AudioFormat audioFormat = new AudioFormat(sampleRate, sampleSizeInBits, channels, signed, bigEndian);
byte audioData[] = byteArrayOutputStream.toByteArray();
InputStream byteArrayInputStream = new ByteArrayInputStream(audioData);
AudioInputStream audioInputStream = new AudioInputStream(byteArrayInputStream, audioFormat, audioData.length / audioFormat.getFrameSize());
AudioSystem.write(audioInputStream, AudioFileFormat.Type.WAVE, outFile);
System.out.println("success");
}
/**
* @param args
*/
public static void main(String[] args) throws Exception{
Test.trans();
}
}
关于vox文件有24k和32k的,具体不是很懂,转换完成的文件杂声很大,想请了解这方面的人指导下,怎么才能成功转换,先谢过了!
...全文
相关推荐
Vox音频文件转wav
Vox音频文件转wav格式,生成8bit, 6000Hz,48Kb的wav文件,在main方法即可测试
vox转wav文件Java实现
vox转wav文件Java实现,其中的实现是参考c的实现方法。经过自己调试改为Java版的,能成功转换vox文件,这个不只是改文件后缀。具体的算法是参考别人的。自己花时间调试的,所以分要高点,网上搜索了下没有Java版本的vox转换代码,说以写了个。
转换代码vox转wav的java代码
vox转wav的java代码vox转wav的java代码vox转wav的java代码vox转wav的java代码vox转wav的java代码vox转wav的java代码vox转wav的java代码vox转wav的java代码vox转wav的java代码vox转wav的java代码vox转wav的java代码vox转wav的java代码vox转wav的java代码
Vox转Wav的C++代码
基于站内Java资源改写,但纠正了Bug,经过了全面重构和优化。其中VoxDecoder类只负责数据流的解码,与具体的文件访问相分离。程序通过了实测,转码了上万个文件。
vox wav 转换
vox convert between vox and wave


