我試圖從我的WPF應用程序控制系統音量,但沒有任何更改。我搜索了一些例子,發現一個來自:PCVolumeControl。更改系統音量
如果我嘗試GetVolume()
它給我0和100之間的值,如果我使用SetVolume(80)
PC的聲音不會改變。再次如果我嘗試GetVolume()
它返回80.
我不知道這裏有什麼問題。根據網站可能無法使用64位,但我沒有看到明確的答案。
任何幫助表示讚賞。
我試圖從我的WPF應用程序控制系統音量,但沒有任何更改。我搜索了一些例子,發現一個來自:PCVolumeControl。更改系統音量
如果我嘗試GetVolume()
它給我0和100之間的值,如果我使用SetVolume(80)
PC的聲音不會改變。再次如果我嘗試GetVolume()
它返回80.
我不知道這裏有什麼問題。根據網站可能無法使用64位,但我沒有看到明確的答案。
任何幫助表示讚賞。
我從this鏈接得到以下snippet
,我只好tested
它在我的本地系統,它工作正常,但我不知道,它是否適合爲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
瞭解MediaElement屬性。
以下是它的鏈接。
http://msdn.microsoft.com/en-us/library/system.windows.controls.mediaelement.volume.aspx
更改卷是這樣>>
<Slider Minimum="0" Maximum="1" ValueChanged="ValueChanged"/>
private void ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
media.Volume = e.NewValue;
}
希望它有幫助。
它似乎並不像你可以改變使用'MediaElement'電腦在全球的音量設置。 – 2013-03-23 05:02:12