C# 在c中通过wmplib更改mp3播放音量#

C# 在c中通过wmplib更改mp3播放音量#,c#,volume,wmplib,C#,Volume,Wmplib,是否有可能更改通过wmplib播放的mp3文件的音量?更改程序本身的音量也可以 有什么解决办法吗?我们的想法是发送(另请参阅) 对于WPF,用于获取窗口的句柄: class MainWindow : Window { ... private const int APPCOMMAND_VOLUME_MUTE = 0x80000; private const int WM_APPCOMMAND = 0x319; private const int APPCOMMAN

是否有可能更改通过wmplib播放的mp3文件的音量?更改程序本身的音量也可以

有什么解决办法吗?

我们的想法是发送(另请参阅)

对于WPF,用于获取
窗口的
句柄

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窗体,请使用:


这是一个简单的方法

例如:

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)
希望对你有帮助

这对我有用

WMPLib.WindowsMediaPlayer wmsound= new WMPLib.WindowsMediaPlayer();

wmsound.URL = @"C:\Users\USER\sound.mp3";

//Volume 100%
finish_sound.settings.volume = 100;

你好,谢谢你的回答。我已经看到了这个主题/答案,但是代码只给了我一些错误。我正在使用WindowsForms,我不确定这是否是因为WindowInteropHelper(或名称空间)可能仅限于WPF。我在SendMessageW行上仍然收到一些错误,尤其是在(IntPtr)APPCOMMAND_VOLUME_UP);。例如:“System.IntPtr”是一个“类型”,但像“变量”一样使用,“无效表达式项”)、“)“预期”、“预期”、“预期”和“只能将赋值、调用、递增、递减和新对象表达式用作语句”…@f4bzen,抱歉!更正。好的,代码现在适用于我,但我必须稍微更改SendMessageW行,因为您的版本中缺少一个参数:SendMessageW(this.Handle,WM_APPCOMMAND,this.Handle,(IntPtr)APPCOMMAND_VOLUME_DOWN);因此,请随时将此添加到您的解决方案中,并感谢您在这方面的帮助。太棒了!非常感谢。扎扎卡拉先生(谢谢)。你成就了我的一天。请告诉我你从哪本书或网站教程读到这篇文章,我也想读类库。这比公认的答案更简单、更好,因为它不仅改变了应用程序的音量,而且也改变了整个系统的音量,所以其他应用程序也会受到影响+1要设置音量,您可以执行类似于
wmp.settings.volume+=1的操作
WMPLib.WindowsMediaPlayer wmsound= new WMPLib.WindowsMediaPlayer();

wmsound.URL = @"C:\Users\USER\sound.mp3";

//Volume 100%
finish_sound.settings.volume = 100;