`
mzhj
  • 浏览: 226145 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java :获取wav文件的编码格式,音频的通道数,采样频率,采样位数

阅读更多

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

分享到:
评论
1 楼 redlwb225 2018-07-20  
刚好用到,总体可用,但是转int和short的方法有些问题,会导致到不对的数据,修正如下:

public static int toInt(byte[] b) {  

        return (((b[3] & 0xff) << 24) + ((b[2] & 0xff) << 16) + ((b[1] & 0xff) << 8) + ((b[0] & 0xff) << 0));  

}  

相关推荐

    wav文件pcm音频采样频率和通道数转换例子

    WAV是一种无损音频文件格式,广泛用于存储高质量的声音数据,而PCM(脉冲编码调制)是数字音频的基础,它将模拟音频信号转化为数字形式。本文将深入探讨如何通过编程实现WAV文件和PCM音频的采样频率和通道数转换。 ...

    JAVA 音频文件PCM转WAV Utils类

    总之,"JAVA 音频文件PCM转WAV Utils类"是Java音频处理领域的一个实用工具,它简化了音频格式转换的过程,使得开发人员可以更方便地在不同音频格式之间进行转换,特别是在需要从基本的PCM数据创建WAV文件的场合。

    Java实现多个wav文件合成一个的方法示例

    wav文件头中包含了wav文件的基本信息,包括文件格式、音频频率、音频通道数、音频位数等。在上面的代码中,我们使用了`resolveHeader`方法来解析wav文件头,并将其存储在`Header`对象中。 知识点3:Java中的编码...

    调整音频采样率,一般可以将wav格式的各种采样率音频转换成8k采样的^_^-.rar

    本教程主要关注如何使用C#编程语言来调整音频文件的采样率,特别是将各种不同采样率的WAV格式音频转换为8kHz采样率的音频。 首先,我们需要了解音频采样率的基本概念。采样率是音频信号数字化过程中的关键参数,它...

    wav音频文件格式分析

    **wav音频文件格式分析** 在数字音频领域,WAV(Waveform Audio File Format)是一种广泛使用的无损音频格式,尤其在Windows操作系统中是标准的音频文件格式。它是由微软和IBM共同开发的,遵循Resource Interchange...

    音频转换(WAV转换为PCM)

    WAV:wav是一种无损的音频文件格式,WAV符合 PIFF(Resource Interchange File Format)规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持...

    java源码 java获取音频文件 播放时长AudioDemo 2018127

    获取音频文件的时长通常涉及到计算音频流中的帧数,然后将帧数转换为秒数。音频文件的帧率(frames per second)和每帧的样本数量可以在`AudioFormat`对象中找到,`AudioInputStream`提供了获取这些信息的方法。例如...

    wav文件封装pcm编码格式

    分析这个文件可以深入理解WAV文件的结构和PCM编码的工作原理,例如查看其采样率、位深度、通道数等信息,甚至可以使用音频编辑软件打开听一下声音质量。 了解这些基础知识对于开发者来说非常重要,因为它们有助于...

    WAV文件格式(用于解析WAV文件)

    WAV文件格式是一种无损音频编码格式,由微软与IBM共同开发,主要用于存储数字音频数据。它是基于RIFF(Resource Interchange File Format)文件结构的,这种格式在Windows操作系统环境中非常常见。WAV文件能够忠实...

    pcm音频文件和wav音频文件 工具下载

    PCM(Pulse Code Modulation,脉冲编码调制)和WAV是两种常见的音频文件格式,它们在数字音频处理领域有着广泛的应用。本篇文章将深入探讨这两种格式的特点、结构以及它们之间的关系。 PCM是一种基本的无损音频编码...

    C#简单获取wav音频信息并播放

    在C#编程环境中,开发一个Winform应用来处理...以上就是使用C#获取和播放WAV音频文件的一些核心知识点,包括文件格式、元数据读取、音频播放以及UI设计等。在实际项目中,可能还需要考虑错误处理、用户交互优化等细节。

    wav音频文件 测试文件

    在IT领域,音频文件是数字媒体的一个重要组成部分,而`WAV`(Waveform Audio Format)音频文件格式是其中一种常见的无损音频格式。本文将深入探讨`WAV`音频文件,包括其基本原理、特点、用途以及如何进行测试。 `...

    wav音频文件格式分析与数据获取_罗海涛1

    【wav音频文件格式详解】 wav音频文件是一种二进制音频格式,源于微软公司,也被称为波形文件。它是数字音频的原始格式,广泛应用于语音信号处理、语音识别、语音合成等多个领域。wav文件未经过任何压缩,因此保留...

    wav音频测试用例.rar_wav_wav ceshiwenjian_wav 测试音频_wav 音频_wav测试音频

    WAV是一种常见的音频文件格式,由Microsoft开发,以无损方式存储音频数据,提供高质量的声音表现。在IT领域,这种类型的文件经常被用于硬件或软件的音频系统测试,以确保它们能正确地播放各种音频样本。 描述中提到...

    java对wav音频文件头分析代码

    java对wav音频文件头分析代码,解析wav音频文件的组成部分以及每个部分的相应的值和类型

    wav.rar_Wav文件_wav_wav 格式_wav文件格式_wav音频

    WAV(Waveform Audio File Format)是Microsoft公司和IBM公司共同开发的一种声音文件格式,主要用于存储未压缩的音频数据。它是一种标准的数字音频容器,支持多种采样率和位深度,因此能提供高质量的音频体验。在...

    WAV.rar_wav format_wav文件格式_wav音频_音频 帧_音频wav

    WAV(Waveform Audio Format)是由微软和IBM共同开发的一种声音文件格式,是PC平台上最原始的音频文件格式之一。它以其无损的音质和广泛的兼容性,在音频处理和音乐制作领域中占据着重要的地位。 **1. WAV文件结构*...

    阿拉伯数字的wav音频文件,wav是数字音频文件格式吗源码.zip

    描述中提到的“wav是数字音频文件格式吗源码”,暗示了可能包含有用于验证或解释WAV是否为数字音频文件格式的编程代码。在计算机科学和音频处理领域,源码是程序员编写的未编译程序,用于控制音频数据的读取、处理和...

    0-9十个阿拉伯数字音频文件WAV格式(清晰)

    2. **WAV格式**:WAV是由微软和IBM共同开发的音频文件格式,基于RIFF(Resource Interchange File Format)结构。它以未经压缩的PCM(Pulse Code Modulation)编码存储声音,因此保真度极高,但文件体积相对较大。...

    16kHz, 16bit, 双通道立体声wav音频文件16k16bitStereo.zip

    标题中的“16kHz, 16bit, 双通道立体声wav音频文件16k16bitStereo.zip”揭示了这个压缩包内含有的音频文件格式和规格。让我们详细了解一下这些术语所代表的含义及其在音频处理中的重要性。 1. **16kHz**: 这是音频...

Global site tag (gtag.js) - Google Analytics