C# 设置软件扬声器音量大小

C# 设置软件扬声器音量大小

public static class VolumeHelper
{
    [DllImport("Winmm.dll")]
    private static extern int waveOutSetVolume(int hwo, System.UInt32 pdwVolume);


    [DllImport("Winmm.dll")]
    private static extern uint waveOutGetVolume(int hwo, out System.UInt32 pdwVolume);
    public static double CurrentVolume = 50;
    public static void SetVolume(double volumeSize)
    {
        if (volumeSize < 0)
            volumeSize = 0;
        if (volumeSize > 100)
            volumeSize = 100;
        System.UInt32 Value = (System.UInt32)((double)0xffff * (double)volumeSize / 100.0);//先把trackbar的value值映射到0x0000~0xFFFF范围
        //限制value的取值范围
        if (Value < 0)
            Value = 0;
        if (Value > 0xffff)
            Value = 0xffff;
        System.UInt32 left = (System.UInt32)Value;//左声道音量
        System.UInt32 right = (System.UInt32)Value;//右
        waveOutSetVolume(0, left << 16 | right); //"<<"左移,“|”逻辑或运算
        CurrentVolume = volumeSize;
    }
    public static int GetVolume()
    {
        System.UInt32 value = 0;
        waveOutGetVolume(0, out value);
        return (int)(value >> 16);
    }
}

**************************************************************************************************************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值