2

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

//Change Volume
private void VolumeTrackBar_ValueChanged(object sender, EventArgs e)
{
   if (MidiAxWindowsMediaPlayer != null && VolumeTrackBar != null)
       MidiAxWindowsMediaPlayer.settings.volume = VolumeTrackBar.Value*10;
}

如果我在该语句中放置一个断点if,我可以看到它按我的意图执行。但是在播放过程中不会反映音量变化。无论我在之前、期间或之后更改音量,它总是以相同的音量播放。

有一个从 0 到 10的TrackBar范围,所以当我将它的值乘以 10 时,我总是会得到 0-100 范围内的东西,这是AxWindowsMediaPlayerObject 所需的范围。

4

2 回答 2

2

你可以在代码下使用

axWindowsMediaPlayer1.settings.volume = 100;

更改您的请求的代码

祝你好运

于 2016-03-22T04:46:04.137 回答
1

在搜索并找不到解决方案(以及其他有同样问题的人)之后,我找到了解决方案。

不引用 AxWMPLib,而是引用 WMPLib

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

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

Object将允许对 Midi Playback 进行音量更改。

于 2012-05-16T19:31:22.587 回答