CSkin博客

标题: 【系统音量监控】CoreAudio 系统音量设置工具 [打印本页]

作者: wtujoxk    时间: 2014-12-16 09:53
标题: 【系统音量监控】CoreAudio 系统音量设置工具
说明:
CoreAudio 系统音量设置工具
适用于NT6系统

效果图:


部分代码:
[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CoreAudioApi;

namespace CoreAudioSample
{
    public partial class Form1 : Form
    {
        private MMDevice device;

        public Form1()
        {
            InitializeComponent();
            MMDeviceEnumerator DevEnum = new MMDeviceEnumerator();
            device = DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);
            tbMaster.Value = (int)(device.AudioEndpointVolume.MasterVolumeLevelScalar * 100);
            device.AudioEndpointVolume.OnVolumeNotification += new AudioEndpointVolumeNotificationDelegate(AudioEndpointVolume_OnVolumeNotification);
            timer1.Enabled = true;
        }

        void AudioEndpointVolume_OnVolumeNotification(AudioVolumeNotificationData data)
        {
            if (this.InvokeRequired)
            {
                object[] Params = new object[1];
                Params[0] = data;
                this.Invoke(new AudioEndpointVolumeNotificationDelegate(AudioEndpointVolume_OnVolumeNotification), Params);
            }
            else
            {
                tbMaster.Value = (int)(data.MasterVolume * 100);
            }
        }

        private void tbMaster_Scroll(object sender, EventArgs e)
        {
            device.AudioEndpointVolume.MasterVolumeLevelScalar = ((float)tbMaster.Value / 100.0f);
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            pkMaster.Value = (int)(device.AudioMeterInformation.MasterPeakValue * 100);
            pkLeft.Value = (int)(device.AudioMeterInformation.PeakValues[0]*100);
            pkRight.Value = (int)(device.AudioMeterInformation.PeakValues[1]* 100);
        }

        
    }
}


案例源码下载: CoreAudio.rar (65.43 KB, 下载次数: 94)

作者: 乔克斯    时间: 2014-12-16 10:14
看上去不错的样子~加油加油
作者: 辰晓晨    时间: 2014-12-17 09:01
看上去不错
作者: 214679    时间: 2018-10-10 09:18
好東西,謝謝樓主的分享!!
作者: 214679    时间: 2018-10-11 09:22
支持和學習下




欢迎光临 CSkin博客 (http://bbs.cskin.net/) Powered by Discuz! X3.2