首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定ADPCM wav文件中的样本计数?

如何确定ADPCM wav文件中的样本计数?
EN

Stack Overflow用户
提问于 2018-01-14 08:49:05
回答 1查看 821关注 0票数 0

在规范的WAV结构中,我没有看到这样的字段,但是可能会使用现有的字段吗?

我知道我们可以计算样本计算PCM (raw_sound_data_size / (bits_pers_sample / 8)),但是如何处理ADPCM?

EN

回答 1

Stack Overflow用户

发布于 2018-01-14 09:46:40

通常,Subchank2Size是以字节为单位的数据大小。以及bitsPerSample样本中有多少位。因此,样本的数量应该是:

代码语言:javascript
复制
samples = Subchank2Size / channels / ( bitsPerSample / 8 ).

对于未压缩的数据是正确的。

ADPCM数据保存在“块”中。该块有三个部分,标题、数据和填充。这三个数字加在一起是字节。

报头

代码语言:javascript
复制
typedef struct adpcmblockheader_tag {
  BYTE bPredictor[nChannels];
  int iDelta[nChannels];
  int iSamp1[nChannels];
  int iSamp2[nChannels];
} ADPCMBLOCKHEADER;

数据

数据是在组(wBitsPerSample * nChannels)中解析的位字符串。

填充

位填充用于将块舍入到一个确切的字节长度。

有关解码ADPCM格式的更多信息可以是在这里发现的

不幸的是,如果不枚举所有块,就无法找到精确的样本计数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48247996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档