C#控制電腦音量特別好用的方法


using System;
using System.Windows.Forms;
 
namespace CoreAudioApi
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        MMDevice device;
 
        private void Form1_Load(object sender, EventArgs e)
        {
            //初始化設備
            MMDeviceEnumerator devEnum = new MMDeviceEnumerator();
            device = devEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);
        }
 
        /// <summary>
        /// 獲取當前音量
        /// </summary>
        public int CurrentVolume
        {
            get => Convert.ToInt32(device.AudioEndpointVolume.MasterVolumeLevelScalar * 100.0f);
        }
        /// <summary>
        /// 設置音量
        /// </summary>
        public int SetVolume
        {
            get => CurrentVolume;
            set
            {
                if (value < 0) device.AudioEndpointVolume.MasterVolumeLevelScalar = 0 / 100.0f;
                else if (value > 100) device.AudioEndpointVolume.MasterVolumeLevelScalar = 100 / 100.0f;
                else device.AudioEndpointVolume.MasterVolumeLevelScalar = value / 100.0f;
            }
        }
        /// <summary>
        /// 定時器更新並顯示當前音量和峰值
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void timer1_Tick(object sender, EventArgs e)
        {
            label1.Text = "當前音量:"+ CurrentVolume;
 
            //使用Convert.ToInt32轉換沒有誤差
            progressBar1.Value = Convert.ToInt32(device.AudioMeterInformation.MasterPeakValue * 100.0f);
            progressBar2.Value = Convert.ToInt32(device.AudioMeterInformation.PeakValues[0] * 100.0f);
            progressBar3.Value = Convert.ToInt32(device.AudioMeterInformation.PeakValues[1] * 100.0f);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            //每點擊一次,音量加10
            SetVolume += 10;
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            //每點擊一次,音量減10
            SetVolume -= 10;
        }
    }
}

 

github:https://github.com/yuxianqiang/CoreAudioApi

工程文件:vs2017 + .net2.0 + CoreAudioApi源碼

鏈接:https://pan.baidu.com/s/1pFCuf2Ykj1SzOv67n2MKzw 密碼:dja9

實例:鏈接:https://pan.baidu.com/s/1qcIFVkwnI_bRRz2B3SXf7A 密碼:as4q
————————————————
版權聲明:本文為CSDN博主「無情時尚」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/yuhijk2055/article/details/81870529



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM