Windows音频体系UAA
+ -

获取默认的音频设备属性getDefaultDevice

2022-09-29 94 0

使用COREAPI获取默认音频属性


wstring DeviceAPOInfo::getDefaultDevice(bool input, int role)
{
    wstring result;

    IMMDeviceEnumerator* enumerator = NULL;
    HRESULT hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL, CLSCTX_ALL, __uuidof(IMMDeviceEnumerator), (void**)&enumerator);
    if (SUCCEEDED(hr))
    {
        IMMDevice* endPoint = NULL;
        hr = enumerator->GetDefaultAudioEndpoint(input ? eCapture : eRender, (ERole)role, &endPoint);
        if (SUCCEEDED(hr))
        {
            IPropertyStore* propertyStore = NULL;
            hr = endPoint->OpenPropertyStore(STGM_READ, &propertyStore);
            if (SUCCEEDED(hr))
            {
                PROPVARIANT variant;
                PropVariantInit(&variant);
                hr = propertyStore->GetValue(guidPropertyKey, &variant);
                if (SUCCEEDED(hr))
                {
                    result = variant.pwszVal;
                    PropVariantClear(&variant);
                }
                propertyStore->Release();
            }
            endPoint->Release();
        }
        enumerator->Release();
    }

    return result;
}

0 篇笔记 写笔记

获取默认的音频设备属性getDefaultDevice
使用COREAPI获取默认音频属性wstring DeviceAPOInfo::getDefaultDevice(bool input, int role){ wstring result; IMMDeviceEnumerator* enumerator = NULL; ......
Windows音频音擎audiodg与APO关系
APO与其他音频过滤框架(如VST)的区别在于,APO是Windows音频引擎使用的过滤框架。VST:Virtual Studio TechnologyWindows音频引擎是Windows音频堆栈的核心组件。它的作用是在单个应用程序音频流和硬件音频设备之间架起桥梁。因此,它可以处理各种任务......
使用WASAPI随机打开默认麦克风并录音
// mictest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include #include #include #inc......
自动挂机麦克风录音测试
要则试麦克风重复打开关闭的功能,如果手动也太麻烦了。为了让打开关闭的时间更随机一点,使用WASAPI做了这么一个小功能。#include #include #include #inc......
OBS模块WASAPI的其中OBS_DECLARE_MODULE和OBS_MODULE_USE_DEFAULT_LOCALE
OBS插件模块WASAPI用于实现Windows音频的。其源文件目录位于:obs-studio-masterpluginswin-wasapi源文件有:CMakeLists.txtdata //资源文件目录enum-wasapi.cppenum-wasapi.hppplugin-m......
OSB-WASAPI插件obs_module_load函数
obs_module_load是OBS插件模块必须实现的函数,其对应于结构体obs_module中load函数指针: bool (*load)(void); //函数名必须为obs_module_loadWASAPI的插件函数代码如下:bool obs_module_load(void){......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

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