C# 使用NAudio更改默认音频输出设备

C# 使用NAudio更改默认音频输出设备,c#,.net,naudio,C#,.net,Naudio,我想用NAudio更改windows 10的默认音频输出 NAudio有一个api来获取默认音频端点: var枚举器=新的MMDeviceEnumerator(); var audioOutputDevice=enumerator.GetDefaultAudioEndpoint(DataFlow.Render,Role.Console); 我想设置默认的音频端点。最后,我无法使用NAudio找到任何解决方案。我使用PowerShell进行此操作: 从将AudioDeviceCmdlet添加到项

我想用NAudio更改windows 10的默认音频输出

NAudio有一个api来获取默认音频端点:

var枚举器=新的MMDeviceEnumerator();
var audioOutputDevice=enumerator.GetDefaultAudioEndpoint(DataFlow.Render,Role.Console);

我想设置默认的音频端点。

最后,我无法使用NAudio找到任何解决方案。我使用PowerShell进行此操作:

  • 从将AudioDeviceCmdlet添加到项目中

  • 然后我们应该使用
    Set AudioDevice
    命令来设置默认的音频设备。它使用设备id或索引。在C#代码中,我们需要一个PowerShellnuget包。该软件包已作为AudioDeviceCmdletnuget软件包的依赖项添加,因此请不要执行任何操作,转到下一步

  • 使用此代码设置默认设备:

  • InitialSessionState iss=InitialSessionState.CreateDefault();
    iss.ImportPSModule(新字符串[])
    {
    Combine(Path.GetDirectoryName(Assembly.getExecutionGassembly().Location),“audioDeviceCmdlet.dll”)
    });
    Runspace Runspace=RunspaceFactory.CreateRunspace(iss);
    Open();
    Pipeline Pipeline=runspace.CreatePipeline();
    Command Command_set=新命令(“设置音频设备”);
    CommandParameter param_set=新的CommandParameter(“ID”,ID);
    命令集.Parameters.Add(参数集);
    pipeline.Commands.Add(命令集);
    //执行PowerShell脚本
    var results=pipeline.Invoke();
    
    非常感谢您提供本教程,Mahdi!知道如何将结果投射到音频设备上吗?我找到了