windows蓝牙驱动开发-BLE音频(二)

ops/2025/1/21 10:15:37/

详细设计

音频格式要求

音频帧持续时间

蓝牙 LE 音频配置文件允许实现支持音频帧持续时间为 7.5 毫秒或 10 毫秒的音频流式处理。 Windows 要求 IHV 提供的编解码器支持这两个帧持续时间,以确保与蓝牙 LE 音频配件设备的互操作性,并与连接到系统的其他蓝牙 LE 设备保持质量共存。

信号处理模式定义

蓝牙 LE 音频支持各种流式处理格式,从而支持不同的用户场景。 BAP 和 TMAP 规范定义了认证必须强制支持的格式。 Windows 会应用 音频信号处理模式,将要使用的格式与系统正在执行的方案相关联。 支持蓝牙 LE 音频的音频驱动程序应指示对下表中的信号处理模式和格式的支持。 此外,蓝牙 LE 音频不支持原始信号处理模式,因此音频驱动程序不应为此模式播发任何受支持的格式。

呈现流音频信号处理模式

蓝牙 LE 音频要求为以下信号处理模式声明呈现音频格式:

默认 (AUDIO_SIGNALPROCESSINGMODE_DEFAULT)
此模式用于单向呈现场景,例如音乐播放、通知和视频游戏音频。
通信 (AUDIO_SIGNALPROCESSINGMODE_COMMUNICATIONS)
此模式用于双向场景,例如语音呼叫。

以下各表列出了每种用例的格式和信号处理模式。 音频格式按优先顺序从高到低排列。

连接到立体声设备或设备协调集时的系统声音、音乐播放和视频游戏音频

信号处理模式:默认

0cdbcfd242d44cbaa06d1858a99bba75.png

连接到协调集的单个成员(单个耳塞或助听器)时的系统声音、音乐播放和视频游戏音频

信号处理模式:默认

da165be306ae4882bdf680bb511cae4d.png

具有语音聊天的呈现语音录制器、VOIP 呼叫或视频游戏音频

信号处理模式:通信

0dfca96aebf74320ba3214c584afeb36.png

捕获流音频信号处理模式

蓝牙 LE 音频要求为默认 (AUDIO_SIGNALPROCESSINGMODE_DEFAULT) 信号处理模式声明捕获音频格式。 支持的捕获格式列表如下表所示。

音频格式按优先顺序从高到低排列。

具有语音聊天的捕获语音录制器、VOIP 呼叫或视频游戏音频

信号处理模式:默认

e54a0f7ddd7d445fac5220f5f28dcae9.png

接口

音频终结点模板绑定 ID

音频驱动程序的 ACX 线路工厂使用此 ID 来了解何时创建了配对蓝牙设备的 ACX 线路。

以下组件 ID 用于创建蓝牙 LE 音频线路:

// {5C52FDB5-722A-4AB7-A342-70163B7E9B5C}
DEFINE_GUID(GUID_BLUETOOTH_LEAUDIO_RENDER_COMPONENT_ID,
0x5c52fdb5, 0x722a, 0x4ab7, 0xa3, 0x42, 0x70, 0x16, 0x3b, 0x7e, 0x9b, 0x5c);// {1DFF2EE3-AE89-441C-BDE3-24F885C55DF8}
DEFINE_GUID(GUID_BLUETOOTH_LEAUDIO_CAPTURE_COMPONENT_ID,
0x1dff2ee3, 0xae89, 0x441c, 0xbd, 0xe3, 0x24, 0xf8, 0x85, 0xc5, 0x5d, 0xf8);

蓝牙 LE 音频支持接口

音频驱动程序堆栈使用该接口来指示它可用于流式处理蓝牙 LE 音频。 Windows 蓝牙音频服务级别会监视此接口,并等到发布后再启用蓝牙 LE 音频支持。

以下接口 ID 用于发布蓝牙 LE 音频支持接口:

// {BA02FA1B-0FD0-4A0F-A748-4FAE2E2D2F67}
DEFINE_GUID(GUID_BLUETOOTH_LEAUDIO_SUPPORT_INTERFACE, 
0xba02fa1b, 0x0fd0, 0x4a0f, 0xa7, 0x48, 0x4f, 0xae, 0x2e, 0x2d, 0x2f, 0x67);

音量和静音

如果流式处理驱动程序需要音频引擎,IHV ACX 流式处理线路应仅包含音量和静音元素。 使用音频引擎时,必须设置配置标志,如下所示:

ACX_AUDIOENGINE_CONFIG audioEngineCfg;
ACX_AUDIOENGINE_CONFIG_INIT(&audioEngineCfg);
…audioEngineCfg.Flags |= AcxAudioEngineConfigVolumeSecondary; // Use this control only if endpoint doesn't have one.audioEngineCfg.MuteElement = muteElement;audioEngineCfg.Flags |= AcxAudioEngineConfigMuteSecondary; // Use this control only if endpoint doesn't have one.audioEngineCfg.PeakMeterElement = peakmeterElement;audioEngineCfg.Flags |= AcxAudioEngineConfigPeakMeterSecondary; // Use this control only if endpoint doesn't have one.

只有这样,蓝牙 LE 音频终结点才能使用蓝牙 SIG 定义的音量和麦克风控制配置文件更改单播音频终结点的音量和静音。

如果远程蓝牙 LE 音频设备不支持音量或麦克风控制服务,或者为广播音频创建了终结点,则音频引擎中的音量和静音元素应充当回退来处理来自音频系统的更改请求。 Windows 音频系统会处理对音量和静音的更改。 如果没有音频引擎,则要么远程设备不支持音量或麦克风服务,要么音频终结点用于广播音频。

蓝牙 LE 和经典音频共存

Windows 应确保只有经典音频或 LE 音频适用于支持这两种技术的配对蓝牙音频设备。 如果 LE 音频处于活动状态,则禁用远程设备的 A2DP 和 HFP 的边带 DDI,并为 LE 音频终结点创建配置文件线路。 如果经典音频处于活动状态,则启用远程设备的 A2DP 和 HFP 的边带 DDI,并且不会为 LE 音频终结点创建配置文件线路。

 


http://www.ppmy.cn/ops/151881.html

相关文章

【C语言】_内存拷贝函数memcpy与memmove

目录 1. memcpy 1.1 函数声明及功能 1.2 使用示例 1.3 模拟实现 2. memmove 2.1 函数声明与功能 2.2 使用示例 2.3 模拟实现 1. memcpy 在专栏前文已介绍字符串拷贝函数strcpy,但其仅能实现字符串的拷贝。若需对其他类型如整型、浮点型、结构体等变量进行拷…

Java 数组排序

目录 1.Java冒泡排序(Bubble Sort) 1.冒泡排序 2.冒泡排序的算法原理 3.冒泡排序的复杂度和性能 4.形成代码 2.Java快速排序(Quick Sort) 3.Java归并排序(Merge Sort) 4.Java选择排序(S…

数据库性能优化(sql优化)_SQL执行计划01_yxy

数据库性能优化_SQL执行计划详解01 1 执行计划简介1.1 什么是sql执行计划?1.2 执行计划解决了什么问题?1.3 总结2 执行计划的查看方式3 执行计划完整示例4 执行计划组成部份1 执行计划简介 1.1 什么是sql执行计划? 执行计划(Execution Plan),也称为查询计划或解释计划,…

主从设备的同步(基于binlog和gtid实现同步)

一、原理 1、MySQL将数据变化记录到二进制日志中; 2、Slave将MySQL的二进制日志拷贝到Slave的中继日志中; 3、Slave将中继日志中的事件在做一次,将数据变化,反应到自身(Slave)的数据库 以便: 灾…

Jetbrains 官方微信小程序插件已上线!

就在昨天,Jetbrains官方发布了一篇文章,宣布它们发布了一款专用于微信小程序开发的插件(插件名称:WeChat Mini Program),至此,大家可以使用Jetbrains家的IDE(例如IDEA、WebStorm&…

Arm 计划涨价高达 300%,并考虑自行研发芯片

Arm 计划涨价高达 300% 据财联社 1 月 14 日消息,芯片技术供应商 Arm Holdings(Arm)正在制定一项长期战略,计划将其芯片设计授权费用提高高达 300%,并考虑自主研发芯片,以与其最大的客户展开竞争。以下是详…

OpenCV的TIF红外可见光融合算法

一、简介 首先TIF是Two-Scale Image Fusion的缩写,论文《Two-Scale Image Fusion of Infrared and Visible Images Using Saliency Detection (TIF)》,作者在论文中提到TIF算法主要通过以下三个步骤实现融合: 图像分解,图像分解使…

基于Python招聘职位数据采集与数据可视化分析

摘要 随着互联网技术的发展,网络招聘成为招聘者与求职者的主要选择,许多大型招聘网站也随之出现,越来越多的毕业生和求职者造成了社会就业压力巨大的现状。因此设计并实现招聘职位数据采集与数据可视化分析系统有重要的研究价值和意义。该系统…