Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用友好名称的Core Audio API主音量控制?_C#_Volume - Fatal编程技术网

C# 如何使用友好名称的Core Audio API主音量控制?

C# 如何使用友好名称的Core Audio API主音量控制?,c#,volume,C#,Volume,我正在使用这里提供的代码 我正试图控制我的应用程序的数量和我的应用程序启动的额外进程。是否有一种方法可以根据应用程序而不是主程序使用上述代码 这是表格中的代码 MMDeviceEnumerator DevEnum = new MMDeviceEnumerator(); device = DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);

我正在使用这里提供的代码

我正试图控制我的应用程序的数量和我的应用程序启动的额外进程。是否有一种方法可以根据应用程序而不是主程序使用上述代码

这是表格中的代码

            MMDeviceEnumerator DevEnum = new MMDeviceEnumerator();
            device = DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);
            beiVolumControl.EditValue = (int)(device.AudioEndpointVolume.MasterVolumeLevelScalar * 100);
通过列出的注释,有一种方法可以使用友好的名称来选择设备,但我在任何地方都没有看到任何示例

下面是我的音量滑块更改时使用的代码

        //change the Volume
    void ritbVolumeControl_EditValueChanged(object sender, EventArgs e)
    {
        TrackBarControl trackBar = sender as TrackBarControl;
        //only use in vista or above.
        if (useAlternateSound == false)
        {
            device.AudioEndpointVolume.MasterVolumeLevelScalar = ((float)trackBar.Value / 100.0f);
        }
        else
        {
            //probably using xp or lower.
        }
        // MessageBox.Show(trackBar.Value.ToString());


    }
最终目标是在不控制所有应用程序的主卷的情况下,尽可能控制我的应用程序和另一个进程的卷。因此,我可以将它们静音,并仍然使用skype语音聊天作为示例。我走错方向了吗


谢谢。

此帖子中介绍了类似的问题和解决方案: