我有一个班级Sounds.cs
来管理我的表单中的播放声音,我希望能够将音量调整为十进制值。有没有办法改变用SoundPlayer
对象播放的声音的音量?或者是否有可能采用不同的方式来播放声音?
答案 0 :(得分:1)
不幸的是SoundPlayer
没有提供用于更改音量的API。您可以使用MediaPlayer
类:
using System.Windows.Media;
public class Sound
{
private MediaPlayer m_mediaPlayer;
public void Play(string filename)
{
m_mediaPlayer = new MediaPlayer();
m_mediaPlayer.Open(new Uri(filename));
m_mediaPlayer.Play();
}
// `volume` is assumed to be between 0 and 100.
public void SetVolume(int volume)
{
// MediaPlayer volume is a float value between 0 and 1.
m_mediaPlayer.Volume = volume / 100.0f;
}
}
您还需要添加对PresentationCore
和WindowsBase
程序集的引用。