C# AxWindowsMediaPlayer,播放Midi文件时未发生音量更改

C# AxWindowsMediaPlayer,播放Midi文件时未发生音量更改,c#,winforms,visual-studio-2010,midi,axwindowsmediaplayer,C#,Winforms,Visual Studio 2010,Midi,Axwindowsmediaplayer,我正在尝试更改AxWindowsMediaPlayer对象的音量。像这样 //Change Volume private void VolumeTrackBar_ValueChanged(object sender, EventArgs e) { if (MidiAxWindowsMediaPlayer != null && VolumeTrackBar != null) MidiAxWindowsMediaPlayer.settings.volume = V

我正在尝试更改
AxWindowsMediaPlayer
对象的音量。像这样

//Change Volume
private void VolumeTrackBar_ValueChanged(object sender, EventArgs e)
{
   if (MidiAxWindowsMediaPlayer != null && VolumeTrackBar != null)
       MidiAxWindowsMediaPlayer.settings.volume = VolumeTrackBar.Value*10;
}
如果我在
If
语句中放置一个断点,我可以看到它按照我的预期执行。 但在播放过程中不会反映音量变化。它总是以相同的音量播放,无论我在之前、期间或之后更改音量


TrackBar
的范围是0到10,因此当我将其值乘以10时,我总是会得到0到100之间的值,这是
AxWindowsMediaPlayer
对象所需的范围。

在搜索并没有找到解决方案(以及其他有相同问题的人)之后 我找到了解决办法

与其引用AxWMPLib,不如引用WMPLib

然后像这样创建媒体播放器对象

WMPLib.WindowsMediaPlayer MidiWindowsMediaPlayer = new WMPLib.WindowsMediaPlayer();
对象将允许对Midi播放进行音量更改

u可以在代码下使用

axWindowsMediaPlayer1.settings.volume = 100;
为您的请求更改代码

祝你好运