我有一个管理窗体中声音播放的类Sounds.cs,我希望能够将音量调整为十进制值。有没有办法改变用SoundPlayer对象播放的声音的音量?或者,也许有一种不同的声音播放方式可以实现这一点?
发布于 2018-05-25 13:11:41
不幸的是,SoundPlayer没有提供更改音量的应用程序接口。您可以使用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程序集的引用。
https://stackoverflow.com/questions/50521363
复制相似问题