是否可以改变通过wmplib播放的mp3文件的音量?改变程序本身的音量也没问题。
有什么解决方案可以解决这个问题吗?
发布于 2013-01-26 02:45:49
这个想法是发送WM_APPCOMMAND message (也可以参见this answer)。
对于WPF,使用WindowInteropHelper获取Window的Handle
class MainWindow : Window
{
...
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int WM_APPCOMMAND = 0x319;
private const int APPCOMMAND_VOLUME_UP = 10 * 65536;
private const int APPCOMMAND_VOLUME_DOWN = 9 * 65536;
[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
private void VolumeUp()
{
// APPCOMMAND_VOLUME_UP or APPCOMMAND_VOLUME_DOWN
var windowInteropHelper = new WindowInteropHelper(this);
SendMessageW(windowInteropHelper.Handle, (IntPtr)WM_APPCOMMAND, windowInteropHelper.Handle, (IntPtr)APPCOMMAND_VOLUME_UP);
}
}对于Windows窗体,请使用Control.Handle Property
class MainForm : Form
{
...
private void VolumeUp()
{
SendMessageW(Handle, (IntPtr)WM_APPCOMMAND, Handle, (IntPtr)APPCOMMAND_VOLUME_UP);
}
}发布于 2013-07-21 08:24:58
这是一种简单的方法。
示例:
WMPlib.WindowsMediaPlayer wmp = new WMPlib.WindowsMediaPlayer(); //Creates an instance of the WMP
wmp.url="URI to media source"; //Sets media source
wmp.settings.volume= 50; //Volume can be 0-100 (inclusive)希望对你有帮助!
发布于 2014-10-17 03:00:05
这对我很有效!
WMPLib.WindowsMediaPlayer wmsound= new WMPLib.WindowsMediaPlayer();
wmsound.URL = @"C:\Users\USER\sound.mp3";
//Volume 100%
finish_sound.settings.volume = 100;https://stackoverflow.com/questions/14527339
复制相似问题