C++如何读取wav文件中的PCM数据
导读:本文共4814字符,通常情况下阅读需要16分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 前言wav文件通常会使用PCM格式数据存储音频,这种格式的数据读取出来直接就可以播放,要在wav文件中读取数据,我们首先要获取头部信息,wav的文件结构里面分为多个chunk,我们要做的就是识别这些chunk的信息,获取音频的格式以及数据。一、如何实现?首先需要构造wav头部,wav文件音频信息全部保存在头部,我们要做的就是读取wav头部信息,并且记录PCM的相... ...
目录
(为您整理了一些要点),点击可以直达。wav文件通常会使用PCM格式数据存储音频,这种格式的数据读取出来直接就可以播放,要在wav文件中读取数据,我们首先要获取头部信息,wav的文件结构里面分为多个chunk,我们要做的就是识别这些chunk的信息,获取音频的格式以及数据。
首先需要构造wav头部,wav文件音频信息全部保存在头部,我们要做的就是读取wav头部信息,并且记录PCM的相关参数。
1.定义头结构
只定义PCM格式的wav文件头,对于PCM格式的数据只需要下面3个结构体即可。
2.读取头部信息
打开文件后需要读取头部信息,需要获取声音的格式以及数据长度。
3.读取数据
获取头部信息后,就知道数据在位置及长度了,只需要直接读文件即可。
完整代码总用有3部分,头结构、WavFileReader.h、WavFileReader.cpp。
1.头结构
2.WavFileReader.h
3.WavFileReader.cpp
1、播放
2、循环播放
C++如何读取wav文件中的PCM数据的详细内容,希望对您有所帮助,信息来源于网络。