Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.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# 更改系统音量_C#_Wpf_Vb.net - Fatal编程技术网

C# 更改系统音量

C# 更改系统音量,c#,wpf,vb.net,C#,Wpf,Vb.net,我试图从我的WPF应用程序控制系统音量,但没有任何变化。我在谷歌上搜索了一些例子,在以下网站上找到了一个 如果我尝试GetVolume()它会给我0到100之间的值。如果我使用SetVolume(80)PC声音不变。如果我再次尝试GetVolume()它将返回80 我不确定这里出了什么问题。据该网站称,它可能无法使用64位,但我并没有看到明确的答案 感谢您的帮助。了解MediaElement属性 下面是它的链接 更改音量是这样的>> <Slider Minimum="0" Maximum

我试图从我的WPF应用程序控制系统音量,但没有任何变化。我在谷歌上搜索了一些例子,在以下网站上找到了一个

如果我尝试
GetVolume()
它会给我0到100之间的值。如果我使用
SetVolume(80)
PC声音不变。如果我再次尝试
GetVolume()
它将返回80

我不确定这里出了什么问题。据该网站称,它可能无法使用64位,但我并没有看到明确的答案


感谢您的帮助。

了解MediaElement属性

下面是它的链接

更改音量是这样的>>

<Slider Minimum="0" Maximum="1" ValueChanged="ValueChanged"/>

private void ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
    media.Volume = e.NewValue;
}

私有无效值已更改(对象发送方,RoutedPropertyChangedEventArgs e)
{
media.Volume=e.NewValue;
}

希望对您有所帮助。

我从link获得了以下
代码片段,并且在本地系统中对其进行了
测试,它工作正常,但我不确定它是否适合
WPF

问题标记:
VB.NET

Imports System.Runtime.InteropServices
Public Class Form1
            <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
            End Function

            Const WM_APPCOMMAND As UInteger = &H319
            Const APPCOMMAND_VOLUME_UP As UInteger = &HA
            Const APPCOMMAND_VOLUME_DOWN As UInteger = &H9
            Const APPCOMMAND_VOLUME_MUTE As UInteger = &H8

            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                SendMessage(Me.Handle, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_UP * &H10000)
            End Sub
            Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
                SendMessage(Me.Handle, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_DOWN * &H10000)
            End Sub
            Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
                SendMessage(Me.Handle, WM_APPCOMMAND, &H200EB0, APPCOMMAND_VOLUME_MUTE * &H10000)
            End Sub
End Class
导入System.Runtime.InteropServices
公开课表格1
私有共享函数SendMessage(ByVal hWnd作为IntPtr,ByVal Msg作为UInteger,ByVal wParam作为IntPtr,ByVal lParam作为IntPtr)作为IntPtr
端函数
常量WM_APPCOMMAND作为UInteger=&H319
Const APPCOMMAND_VOLUME_UP As UInteger=&HA
Const APPCOMMAND_VOLUME_DOWN为UInteger=&H9
Const APPCOMMAND_VOLUME_MUTE As UInteger=&H8
私有子按钮1\u单击(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理按钮1。单击
SendMessage(Me.Handle、WM_APPCOMMAND和H30292、APPCOMMAND_VOLUME_UP*&H10000)
端接头
私有子按钮2\u单击(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理按钮2。单击
SendMessage(Me.Handle、WM_APPCOMMAND和H30292、APPCOMMAND_VOLUME_DOWN*&H10000)
端接头
私有子按钮3\u单击(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理按钮3。单击
SendMessage(Me.Handle、WM_APPCOMMAND和H200EB0、APPCOMMAND_VOLUME_MUTE*&H10000)
端接头
末级

您似乎无法使用
MediaElement
更改计算机的全局音量设置。