更改System.Media.SoundPlayer中的卷

Moh*_*oud 5 c#

我正在使用System.Media.SoundPlayer在我的项目中播放一些wav文件.是否可以更改此SoundPlayer的音量?如果无法做到这一点,我如何使用C#更改计算机的音量?

Lar*_*ech 3

SoundPlayer 可调音量


不幸的是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;
    }
}
Run Code Online (Sandbox Code Playgroud)

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