C#监测音频设备热插拔功能 C#热插拔麦克分扬声器.Net 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 经过多天的资料查找,问题解决了。现留个脚印,结贴!using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;using CoreAudio.Interfaces;using CoreAudio;namespace AudioEnginHelper_Clbrt{ //Small wrapper class public class MMNotificationClient : IMMNotificationClient { public DeviceStateChangedDelegate dvMicChangedDlgt; public DeviceStateChangedDelegate dvSpkChangedDlgt; MMDeviceEnumerator DevEnum = null; public MMNotificationClient() { DevEnum = new MMDeviceEnumerator(); DevEnum.RegisterEndpointNotificationCallback(this); } public void OnDeviceStateChanged([In, MarshalAs(UnmanagedType.LPWStr)] string pwstrDeviceId, DEVICE_STATE dwNewState) { if (null != DevEnum) { MMDevice mMDevice = DevEnum.GetDevice(pwstrDeviceId); if (null != mMDevice) { switch (mMDevice.DataFlow) { case EDataFlow.eRender: { dvSpkChangedDlgt(); } break; case EDataFlow.eCapture: { dvMicChangedDlgt(); } break; default: { dvSpkChangedDlgt(); dvMicChangedDlgt(); } break; } } } } }}用到的开源库请到本人的资源中下载。 您好, 可否教我如何創建一DeviceStateChangedDelegate ?感謝 Lucene.net 如何查询一个关键词 并且ID大于指定的数据 C# ACCESS数据库 C#正则表达式,数字 字母 汉字 下划线 懂的进来 c# 调用matlab生成的dll问题 SQL优化一下。。。急。。。有差不多的直接结贴。。。 急,DatePicker的使用问题 提个白痴问题 【请教】如何防止文件夹里的文件以及子文件夹被更改?? 如何实现类似VS的属性页功能? 借借人气,问一个关系分解的问题! 请教 :如何将RichTextBox 与单独的 vScrollBar 绑定在一起? 为何界面会经常死机?
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using CoreAudio.Interfaces;
using CoreAudio;namespace AudioEnginHelper_Clbrt
{
//Small wrapper class
public class MMNotificationClient : IMMNotificationClient
{
public DeviceStateChangedDelegate dvMicChangedDlgt;
public DeviceStateChangedDelegate dvSpkChangedDlgt; MMDeviceEnumerator DevEnum = null;
public MMNotificationClient()
{
DevEnum = new MMDeviceEnumerator();
DevEnum.RegisterEndpointNotificationCallback(this);
} public void OnDeviceStateChanged([In, MarshalAs(UnmanagedType.LPWStr)] string pwstrDeviceId, DEVICE_STATE dwNewState)
{
if (null != DevEnum)
{
MMDevice mMDevice = DevEnum.GetDevice(pwstrDeviceId);
if (null != mMDevice)
{
switch (mMDevice.DataFlow)
{
case EDataFlow.eRender:
{
dvSpkChangedDlgt();
}
break;
case EDataFlow.eCapture:
{
dvMicChangedDlgt();
}
break;
default:
{
dvSpkChangedDlgt();
dvMicChangedDlgt();
}
break;
}
}
}
}
}
}用到的开源库请到本人的资源中下载。
感謝