是否有音频编解码器的硬件支持。如果有,有哪些?可以使用哪些库来获得硬件加速?
我阅读了 USB 标准,USB 音频标准包括对编解码器的支持,包括 mp3,但 USB 声卡还没有那么普遍。
- 现代显卡是否支持 mp3 和 AAC,或者您是否使用软件编解码器(例如 Realtek HD Audio)?
- 声卡支持哪些编解码器?
- 哪些 c++ 库支持通过硬件压缩播放?
- 声卡可以同时编码多少个音频流?
还是声卡厂商不理会编解码器,只有部分USB声卡支持mp3?
是否有音频编解码器的硬件支持。如果有,有哪些?可以使用哪些库来获得硬件加速?
我阅读了 USB 标准,USB 音频标准包括对编解码器的支持,包括 mp3,但 USB 声卡还没有那么普遍。
还是声卡厂商不理会编解码器,只有部分USB声卡支持mp3?
有支持压缩音频的硬件编码/解码的声音适配器,但它们大多是非常旧的型号。一个例子是海龟海滩圣克鲁斯与2000年代初有关。这是通过开发一个非标准 DirectShow 过滤器来实现的,该过滤器接受 MP3 流作为输入并将其直接传输到视频卡,绕过通常的 MP3 解码器 - WaveOut 渲染器链。因此,任何 DirectShow 应用程序都可以使用硬件解码来播放声音。这在当时很重要,因为处理器功率不足,而且 Windows 9x 在管理 CPU 使用率方面不是很好,所以当 CPU 使用率很高时,纯软件播放音频会导致声音断断续续。
但是现在大多数常见的声音适配器都不支持它。此外,从 Windows Vista 开始,声音模型根本不包含任何对用于处理声音的硬件加速的支持——即使混合来自不同应用程序的声音流也是在软件中完成的。这样做主要是因为处理器的性能大大提高,音频处理所花费的时间保持不变——即 音频处理开始占据处理器功率的极小比例。如果您在现代计算机上打开 mp3 播放并在任务管理器中查看播放器的 CPU 使用率,它几乎总是为 0%,仅在极少数情况下达到 1%。
硬件解码被放弃了,因为它会不必要地增加设备的成本,同时几乎没有任何好处。当然,如果有人开发了这很重要的专业声卡,他们也可能为此提供自定义驱动程序和 DirectShow 过滤器。只有为了从中受益,您才需要特殊的软件 - 现代版本的 Windows Media Player 和使用其引擎的应用程序很可能不会“拾取”它们。