互动直播,扬声器 逻辑梳理

本文详细介绍了如何使用Windows Core Audio API中的IMMDeviceEnumerator接口和_core_ptr_t智能指针管理扬声器设备,包括获取扬声器信息、设置默认设备、音量控制及在互动直播中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、扬声器快捷接口

1、多媒体接口

2、扬声器数目

3、扬声器名字等信息

二、核心音频API window core audio API

1、基本介绍

2、IMMDeviceEnumerator

1)获得实例

2)设备枚举

3)获取默认设备

4)设备集合

5)回调

6)释放资源

3、_com_ptr_t 智能指针模版类

1)、创建智能指针

2)、通过 CreateInstance 创建 COM 对象

3)、通过 QueryInterface 获取其他接口

4)、使用COM对象

5)、支持类型库引用

6)、生命周期

4、音频枚举接口 智能指针

1)、定义音频接口智能指针

2)、遍历扬声器

3)、获得当前系统扬声器名

4)、获得扬声器音量

5)、设置音量

6)、设置默认扬声器

7)、静音设备

三、综合应用

1、获得默认扬声器

2、刷新重新获得设备

1)、获得扬声器集合

2)、重置VECTOR容器SIZE

3)、获得每个设备详细信息

4)、将每个设备信息存在VECTOR容器中

5)、详细代码

3、对集合中的设备进行标记,是否当前默认设备

1)、获得默认设备

2)、获得默认设备的ID

3)、写一个Predicate 函数断言对象

4)、查找与默认设备ID相同的那一项,并进行标记

5)、详细代码

4、设置新的默认项

四、互动直播中的使用

1、初始化互动引擎时,初始化音频设备

2、中间切换时

3、UI 选择


一、扬声器快捷接口

Wave 系列接口总体介绍

Wave 系列接口是在 Windows 平台上用于音频编程的一组 API。这些接口通常用于实现对音频设备的底层访问,支持音频数据的输入和输出。

以下使用wave接口,获得扬声器信息

1、多媒体接口

#include<mmsystem.h> //多媒体设备接口头文件
#pragma comment(lib, "winmm.lib ")  

2、扬声器数目

/* waveform audio function prototypes */
WINMMAPI UINT WINAPI waveOutGetNumDevs(void);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清水迎朝阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值