7、音频与视频捕获:压缩与应用详解

音频与视频捕获:压缩与应用详解

1. 音频压缩基础

在音频捕获过程中,未经压缩的音频文件大小增长迅速,例如通过某些方式捕获的音频,其文件大小增长速率与标准音频 CD 相近,约每小时 700 MB。不过,DirectShow 提供了众多转换滤波器,可将音频压缩至未压缩大小的一小部分。

要在滤波器图中添加音频压缩器,需先枚举所有 CLSID_AudioCompressorCategory 滤波器。这是因为 DirectShow 将音频压缩器视为具有各自类 ID 的独立对象,但我们通常无法直接知晓特定音频压缩器的类 ID,而调用 CreateClassEnumerator 方法可以帮助我们了解 DirectShow 可用的所有音频压缩器的类 ID。

以下是枚举音频压缩器的代码:

// 枚举所有的音频压缩器。
// 将匹配名称的压缩器返回给调用者。
HRESULT EnumerateAudioCompressorFilters(void** gottaCompressor, 
                                        wchar_t* matchName)
{
    // 再次借鉴 DX9 SDK 的代码。
    // 创建系统设备枚举器。
    ICreateDevEnum *pSysDevEnum = NULL;
    HRESULT hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, 
                                 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值