我有一个类Sounds.cs
以我的形式管理播放声音,我希望能够将音量调整为十进制值。有没有办法改变正在播放的声音的音量 SoundPlayer
目的?或者是否有不同的播放声音的方式使这成为可能?
最佳答案
不幸的是 SoundPlayer
不提供用于更改音量的 API。您可以使用 MediaPlayer
类(class):
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
组件。
关于c# - SoundPlayer 可调音量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50521363/