首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >24位音频流是如何传送到图形的?

24位音频流是如何传送到图形的?
EN

Stack Overflow用户
提问于 2017-06-20 18:44:35
回答 1查看 277关注 0票数 3

这可能是一个非常愚蠢的问题,但经过一段时间的搜索,我找不到一个直接的答案。

如果源过滤器(如LAV音频编解码器)正在处理24位的整体音频流,那么如何将单个音频样本传递到图形中?(为了简单起见,让我们考虑单声道流)

它们是单独地存储在32位整数上,没有使用最重要的位数,还是以打包的形式存储,下一个样本中最不重要的位占用了当前样本的备用、最重要的位?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-20 19:25:52

它的格式类似于16位PCM:值是有符号整数,即小endian。

使用24位音频,您通常使用WAVEFORMATEXTENSIBLE结构来定义格式,而不是WAVEFORMATEX (好的,后者也可以被某些过滤器所接受,但通常您需要使用前者)。

该结构有两个值:每个样本的位数和每个样本的有效位数。因此,可以将24位数据表示为24位值,也可以表示为32位值的24位有意义的位。有效载荷数据应该与格式相匹配。

在一个字节中不存在不同样本的混合:

但是,wBitsPerSample是容器大小,必须是8的倍数,而wValidBitsPerSample可以是任何不超过容器大小的值。例如,如果格式使用20位示例,则wBitsPerSample必须至少为24,但wValidBitsPerSample为20。

据我所知,通常只有24位值,即每个PCM示例三个字节。

非PCM格式可能定义不同的打包并更有效地使用“未使用”位,因此,例如,对于20位音频的示例来说,要消耗5个字节。

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

https://stackoverflow.com/questions/44660805

复制
相关文章

相似问题

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