c# - SoundPlayer 可调音量

标签 c# .net

我有一个类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/

相关文章:

c# - 数据库之间的外键,复制表

c# - 哪种代码是更好的编程风格

.net - Linq 查询返回不正确的结果集

c# - Entity Framework : Eager Loading Navigation Properties of Inherited Entities

.net - KB3132372导致dotnet嵌入式浏览器控件在包含Flash的网站上崩溃

c# - 支持自定义 PowerShell cmdlet 的 Get-Help

c# - "is { }"是什么意思?

c# - Retinex算法实现

c# - 从 Angular 前端 POST JSON 到 ASP.NET 后端

c# - Json.Net 在序列化时弄乱了 DateTimeOffset 的时区