作者: wtujoxk
查看: 1152|回复: 4

[源码] 【系统音量监控】CoreAudio 系统音量设置工具

[复制链接]
wtujoxk 发表于 2014-12-16 09:53:26 | 显示全部楼层 |阅读模式
查看: 1152|回复: 4
说明:
CoreAudio 系统音量设置工具
适用于NT6系统

效果图:

【系统音量监控】CoreAudio 系统音量设置工具

【系统音量监控】CoreAudio 系统音量设置工具


部分代码:
[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, 下载次数: 74)

评分

参与人数 1金钱 +3 收起 理由
乔克斯 + 3 感谢LZ对论坛做出的贡献~

查看全部评分

回复 论坛版权

使用道具 举报

乔克斯 发表于 2014-12-16 10:14:20 | 显示全部楼层
看上去不错的样子~加油加油
辰晓晨 发表于 2014-12-17 09:01:16 | 显示全部楼层
看上去不错
214679 发表于 2018-10-10 09:18:51 | 显示全部楼层
好東西,謝謝樓主的分享!!
214679 发表于 2018-10-11 09:22:34 | 显示全部楼层
支持和學習下
您需要登录后才可以回帖 登录 | 加入CSkin论坛

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2018-11-15 18:28, Processed in 0.901127 second(s), 34 queries , Gzip On.

快速回复 返回顶部 返回列表