-2

我有一个带有按钮的 vb.net 应用程序;当我单击按钮时,它应该会显示一条消息,说明系统声音是打开还是关闭。

我该怎么做?

系统声音是指系统播放的声音,例如“星号”、“手”等。这​​些声音通常在弹出消息框时出现。这些声音可以在音量混合器中关闭或打开。我希望我的应用程序在单击按钮时显示消息“系统声音已打开”或“...关闭”,因为系统声音在音量混合器中打开或关闭。

下图显示了在音量混合器窗口中关闭的系统声音。

4

2 回答 2

2

您可以使用 NuGet 包AudioSwitcher.AudioApi.CoreAudio和以下代码执行此操作。

Imports AudioSwitcher.AudioApi.CoreAudio

Module Module1

    Sub Main()

        Dim dev As CoreAudioDevice = New CoreAudioController().DefaultPlaybackDevice

        If dev.IsMuted Then
            Console.WriteLine("Volume muted.")
        Else
            Console.WriteLine("Volume not muted.")
        End If

    End Sub

End Module
于 2020-06-04T15:17:10.603 回答
1

如果您将系统声音方案更改为“无声音”(意味着系统声音全部关闭):

在此处输入图像描述

然后HKEY_CURRENT_USER\AppEvents\Schemes默认键将显示为.None;否则,它将显示方案的名称。您可以测试系统声音是否全部关闭但正在检查.None

    If Registry.GetValue("HKEY_CURRENT_USER\AppEvents\Schemes", "", String.Empty).ToString = ".None" Then

        Debug.Print("System Sounds are Off")

    Else

        Debug.Print("System Sounds are On")

    End If
于 2020-06-04T14:48:02.323 回答