public static int toInt(byte[] b) {
return ((b[3] << 24) + (b[2] << 16) + (b[1] << 8) + (b[0] << 0));
}
public static short toShort(byte[] b) {
return (short)((b[1] << 8) + (b[0] << 0));
}
public static byte[] read(RandomAccessFile rdf, int pos, int length) throws IOException {
rdf.seek(pos);
byte result[] = new byte[length];
for (int i = 0; i < length; i++) {
result[i] = rdf.readByte();
}
return result;
}
public static void main(String[] args) throws IOException {
File f = new File("c:\\bong.wav");
RandomAccessFile rdf = null;
rdf = new RandomAccessFile(f,"r");
System.out.println("audio size: " + toInt(read(rdf, 4, 4))); // 声音尺寸
System.out.println("audio format: " + toShort(read(rdf, 20, 2))); // 音频格式 1 = PCM
System.out.println("num channels: " + toShort(read(rdf, 22, 2))); // 1 单声道 2 双声道
System.out.println("sample rate: " + toInt(read(rdf, 24, 4))); // 采样率、音频采样级别 8000 = 8KHz
System.out.println("byte rate: " + toInt(read(rdf, 28, 4))); // 每秒波形的数据量
System.out.println("block align: " + toShort(read(rdf, 32, 2))); // 采样帧的大小
System.out.println("bits per sample: " + toShort(read(rdf, 34, 2))); // 采样位数
rdf.close();
}
分享到:
相关推荐
WAV是一种无损音频文件格式,广泛用于存储高质量的声音数据,而PCM(脉冲编码调制)是数字音频的基础,它将模拟音频信号转化为数字形式。本文将深入探讨如何通过编程实现WAV文件和PCM音频的采样频率和通道数转换。 ...
wav文件头中包含了wav文件的基本信息,包括文件格式、音频频率、音频通道数、音频位数等。在上面的代码中,我们使用了`resolveHeader`方法来解析wav文件头,并将其存储在`Header`对象中。 知识点3:Java中的编码...
在C#编程环境中,开发一个Winform应用来处理...以上就是使用C#获取和播放WAV音频文件的一些核心知识点,包括文件格式、元数据读取、音频播放以及UI设计等。在实际项目中,可能还需要考虑错误处理、用户交互优化等细节。
总之,"JAVA 音频文件PCM转WAV Utils类"是Java音频处理领域的一个实用工具,它简化了音频格式转换的过程,使得开发人员可以更方便地在不同音频格式之间进行转换,特别是在需要从基本的PCM数据创建WAV文件的场合。
本教程主要关注如何使用C#编程语言来调整音频文件的采样率,特别是将各种不同采样率的WAV格式音频转换为8kHz采样率的音频。 首先,我们需要了解音频采样率的基本概念。采样率是音频信号数字化过程中的关键参数,它...
PCM(Pulse Code Modulation,脉冲编码调制)和WAV是两种常见的音频文件格式,它们在数字音频处理领域有着广泛的应用。本篇文章将深入探讨这两种格式的特点、结构以及它们之间的关系。 PCM是一种基本的无损音频编码...
**wav音频文件格式分析** 在数字音频领域,WAV(Waveform Audio File Format)是一种广泛使用的无损音频格式,尤其在Windows操作系统中是标准的音频文件格式。它是由微软和IBM共同开发的,遵循Resource Interchange...
获取音频文件的时长通常涉及到计算音频流中的帧数,然后将帧数转换为秒数。音频文件的帧率(frames per second)和每帧的样本数量可以在`AudioFormat`对象中找到,`AudioInputStream`提供了获取这些信息的方法。例如...
WAV:wav是一种无损的音频文件格式,WAV符合 PIFF(Resource Interchange File Format)规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持...
分析这个文件可以深入理解WAV文件的结构和PCM编码的工作原理,例如查看其采样率、位深度、通道数等信息,甚至可以使用音频编辑软件打开听一下声音质量。 了解这些基础知识对于开发者来说非常重要,因为它们有助于...
WAV文件格式是一种无损音频编码格式,由微软与IBM共同开发,主要用于存储数字音频数据。它是基于RIFF(Resource Interchange File Format)文件结构的,这种格式在Windows操作系统环境中非常常见。WAV文件能够忠实...
WAV是一种常见的音频文件格式,由Microsoft开发,以无损方式存储音频数据,提供高质量的声音表现。在IT领域,这种类型的文件经常被用于硬件或软件的音频系统测试,以确保它们能正确地播放各种音频样本。 描述中提到...
在IT领域,音频文件是数字媒体的一个重要组成部分,而`WAV`(Waveform Audio Format)音频文件格式是其中一种常见的无损音频格式。本文将深入探讨`WAV`音频文件,包括其基本原理、特点、用途以及如何进行测试。 `...
【wav音频文件格式详解】 wav音频文件是一种二进制音频格式,源于微软公司,也被称为波形文件。它是数字音频的原始格式,广泛应用于语音信号处理、语音识别、语音合成等多个领域。wav文件未经过任何压缩,因此保留...
WAV(Waveform Audio File Format)是Microsoft公司和IBM公司共同开发的一种声音文件格式,主要用于存储未压缩的音频数据。它是一种标准的数字音频容器,支持多种采样率和位深度,因此能提供高质量的音频体验。在...
java对wav音频文件头分析代码,解析wav音频文件的组成部分以及每个部分的相应的值和类型
WAV(Waveform Audio Format)是由微软和IBM共同开发的一种声音文件格式,是PC平台上最原始的音频文件格式之一。它以其无损的音质和广泛的兼容性,在音频处理和音乐制作领域中占据着重要的地位。 **1. WAV文件结构*...
描述中提到的“wav是数字音频文件格式吗源码”,暗示了可能包含有用于验证或解释WAV是否为数字音频文件格式的编程代码。在计算机科学和音频处理领域,源码是程序员编写的未编译程序,用于控制音频数据的读取、处理和...
3. **解析fmt块**:读取fmt块的大小,然后读取格式信息,如音频格式(一般为PCM),通道数,采样率,每秒字节数,每帧字节数,位深度等。 4. **寻找data块**:遍历文件,直到找到"data"标识,读取data块的大小。 5...
WAV(Waveform Audio Format)是微软和IBM共同开发的一种音频文件格式,基于PCM编码。WAV文件通常保留原始音频的所有数据,因此是无损的,但这也意味着它们的文件大小较大。8KHz和16KHz的WAV文件可以满足不同应用...