SoundPlayer可调节音量

时间:2018-05-25 04:03:50

标签: c# .net

我有一个班级Sounds.cs来管理我的表单中的播放声音,我希望能够将音量调整为十进制值。有没有办法改变用SoundPlayer对象播放的声音的音量?或者是否有可能采用不同的方式来播放声音?

1 个答案:

答案 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;
    }
}

您还需要添加对PresentationCoreWindowsBase程序集的引用。