Windows音频体系UAA
+ -

Windows音频设备默认采样率

2023-05-26 75 0

在注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render/Capture\{DEVICEGUID}\Properties

下,注册表项:{f19f064d-082c-4e27-bc73-6882a1bb8e4c},0即PKEY_AudioEngine_DeviceFormat描述符在共享模式下该音频设备的采样率。

"{f19f064d-082c-4e27-bc73-6882a1bb8e4c},0"=hex:41,00,34,51,01,00,00,00,fe,ff,\
  02,00,44,ac,00,00,10,b1,02,00,04,00,10,00,16,00,10,00,03,00,00,00,01,00,00,\
  00,00,00,10,00,80,00,00,aa,00,38,9b,71
"{a2a3fff4-353f-407c-9d86-1f9dc7d5a606},2"=hex:41,00,34,51,01,00,00,00,0a,00,\
  00,00,01,00,00,00,20,ea,90,9e,93,b4,d1,4f,a1,a8,7e,13,61,a9,56,cf,02,00,00,\
  00,b9,01,00,00,b9,01,00,00,b9,01,00,00,b9,01,00,00,b9,01,00,00,fe,ff,02,00,\
  44,ac,00,00,10,b1,02,00,04,00,10,00,16,00,10,00,03,00,00,00,01,00,00,00,00,\
  00,10,00,80,00,00,aa,00,38,9b,71,e0,01,00,00,e0,01,00,00,e0,01,00,00,e0,01,\
  00,00,e0,01,00,00,fe,ff,02,00,80,bb,00,00,00,ee,02,00,04,00,10,00,16,00,10,\
  00,03,00,00,00,01,00,00,00,00,00,10,00,80,00,00,aa,00,38,9b,71
"{74e4357a-7959-47a4-a8b2-feb2ffd48427},2"=hex:41,00,4c,00,01,00,00,00,0a,00,\
  02,00,44,ac,00,00,80,bb,00,00,01,00,10,10,01,00,04,00,01,00,34,00,7c,88,ff,\
  ff,20,ea,90,9e,93,b4,d1,4f,a1,a8,7e,13,61,a9,56,cf,00,00,00,08

该值的内容应该是IAudioClient::GetMixFormat 的函数返回的内容,具体本人未确定。

该GUID定义为PKEY_AudioEngine_DeviceFormat

参考资料:

0 篇笔记 写笔记

Windows Inf文件设备GUID分类(设备安装程序类)
Class=SystemClassGuid={4d36e97d-e325-11ce-bfc1-08002be10318}Class=USBClassGuid={36FC9E60-C465-11CF-8056-444553540000}Class=AudioClassGuid={4d36e96c-......
Windows的音频体系
Windows10的音频架构图KSEndpoint组件是系统提供的文件,随Windows Vista和更高版本的Windows一起提供。此组件以DLL的形式提供(Audiokse.dll). KSEndpoint抽象内核模式设备端点,并为音频引擎提供对抽象端点的访问。对于PCI/PCIE音频设备......
PortClass流式音频架构
在Windows操作系统中,PortClass仅用于纯音频设备驱动的开发,其配合内核流式驱动模块ks.sys实现音频设备驱动的开发。内核流式驱动模块ks.sys包含两部分内容,一部分是提供内核通用的流式驱动模块,另一部分是avstream模块。avstream模块即可用于开发音频设备驱动,也可用......
使用CLSIDFromString将字符串GUID转化成十六进制GUID/UUID
Windows的一般会给相同类型的设备接口注册相同的GUID,但GUID有时别人给的是一个字符串,但是在实际使用过程中我们又使用的是GUID类型,其结构定义如下:typedef struct _GUID { unsigned long Data1; unsigned short ......
PortClass音频驱动程序架构
音频适配器驱动程序是最低层的音频驱动,对下实现对硬件的操作,以上提供端口驱动的函数回调。所以音频适配器驱动的代码来自两部分,一部分是厂商提供的硬件驱动代码,一般是由portclass提供的通用音频驱动模块。入口函数因为适配器驱动程序是作为内核模式驱动程序服务安装的,所以和其它驱动一样,由操作系统加......
Windows驱动预定义设备GUID
全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装。在许多流行软件应用程序(例如 Web 浏览器和媒体播放器)中,都使用 GUIDGUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内......
PortClass提供的音频MINI端口驱动
PortClass提供了以下几种MiniPort驱动类型。Cyclic DMA wave input and output:此类Mini端口驱动程序支持访问ISA和其他声卡的基于DMA的wave I/O功能。接口专门处理循环(autoinit)DMA缓冲区,流问题由端口驱动程序解决。Scatt......
ASIO 简介
ASIO是Audio Stream I/O的简称。ASIO主要用于对希望在个人电脑音频设备相对于系统的音频设备实现高效音频处理、高数据吞吐量,音频硬件端的同步、低延迟和可扩展性等方面的性能改善。ASIO比较灵活,音频接口不需要绑定到任何固定数量的输入和输出通道(当然,此数量受计算机系统本身的处理......
SetupAPI函数实现设备分类GUID和类名之间的转换SetupDiClassNameFromGuidEx和SetupDiClassGuidsFromNameEx
类名与其GUID之间的切换 GUID guid; ULONG rtn = 0; if (SetupDiClassGuidsFromNameEx(TEXT("USB"), &guid, 1, &rtn, NULL, N......
SetupAPI 根据类GUID获取类描述符信息SetupDiGetClassDescriptionEx
Windows设备的一种管理方式就是在安装设备驱动的时候,通过INF文件中的Class和ClassGUID来设置,如Class=USBClassGuid={36FC9E60-C465-11CF-8056-444553540000}当设备驱动安装后,可以通过SetupDiClassNameFro......
ASIO 获取音频参数init_asio_static_data函数
要打开音频设备,总得先获取参数吧。比如UAC设备,在打开MIC时,系统会通过特定类请求设置采样率,这样固件会源源不断地通过此采样率获取音频数据,然后通过USB要同步传输将数据发送给主机。在ASIO中,获取ASIO设备的参数有几个函数,详情可见:ASIO 函数功能介绍 。ASIO的测试用例是通过in......
COM全局唯一标识符GUID
COM规范采用了128位全局唯一标识符GUID来标识对象和接口,这是一个随机数,并不需要专门机构进行分配和管理。因为GUID是个随机数,所以并不绝对保证唯一性,但发生标识符相重的可能性非常小。从理论上讲,如果一台机器每秒产生10000000个GUID,则可保证(概率意义上)的3240年不重复)。GU......
COMM CSID和GUID
Office的Word中可以插入EXCEL数据,我们知道是通过Word存储的复合文件功能来实现的。那么当WORD程序读取复合文件,遇到EXCEL数据时,它该如何启动Excel呢?启动后,又如何让Excel自己去读入、解析、显示xls数据呢?CLSID概念有一个非常简单的解决方案,那就是在对象数据的......
使用C语言生成GUID
Windows系统&Linux系统获取uuid统一通用代码:#include #include #include #ifdef WIN32#include ......
快速调出Windows音频控制面板命令行
VC可可以直接调用:WinExec("rundll32.exe shell32.dll, Control_RunDLL mmsys.cpl", SW_HIDE);或者在命令行中运行rundll32.exe shell32.dll, Control_RunDLL mmsys.......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!