修改系统默认的音频设备,Windows并没有提供相应的API,按照MSDN的说法,是希望由用户自己决定该系统选项。但是在某些特殊情况下,希望程序直接修改该系统选项。下面列举两种修改系统默认音频设备的方法以及一个测试范例。

1. 直接通过注册表来读取和修改系统默认音频设备
在HKEY_CURRENT_USER/Software/Microsoft/Multimedia/Sound Mapper下有两个值Playback和Record,分别表示系统当前默认的播放放和录音设备。可以通过直接修改这两个值来改变系统默认的音频设备。但是该方法在Windows XP 和 Vista下并非总是有效。当Windows XP 和 Vista初始安装后,该注册表项并不存在。即使创建该注册表项,两个值与实际系统选项也并非总是同步。因此需要考虑下面的方法。

2. 利用程序来模拟用户修改系统音频设置的过程,打开声音属性窗口,直接选择默认的播放和录音设备,点击“确认”后保存。这里需要注意几个问题。
1)快速打开和关闭声音属性窗口,会造成用户界面的闪烁,需要一个HOOK DLL来隐藏该窗口。
2)Vista的声音属性窗口有很大改变,需要真对不同的OS分别对待。
3)32位和64位OS,需要分别处理。

下面给出一个范例,已经在2K, XP 和 Vista做过测试。感兴趣话可以看看。如果有其他的方法,请不吝赐教。

http://www.esnips.com/doc/6ad43332-01d5-4242-9d74-95189bdd7d76

或者

SystemAudio.zip
Hosted by eSnips

修改系统默认的音频设备相关推荐

  1. Android7.1修改系统默认多媒体音量大小

    Android7.1修改系统默认多媒体音量大小 始修改\frameworks\base\packages\SettingsProvider\res\values\defaults.xml def_mu ...

  2. 修改系统默认路径,如收藏夹、桌面、我的文档

    修改系统默认路径,如收藏夹.桌面.我的文档.... 修改分支为:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer ...

  3. Android 系统(72)---Android系统增加字体库及修改系统默认字体

    Android系统增加字体库及修改系统默认字体 阅读数:53 转载出处:https://blog.csdn.net/hsaekong/article/details/80305263 前言 最近项目上 ...

  4. Android 12.0 修改系统默认字体的大小

    目录 1.概述 2.修改系统默认字体的大小的核心类 3.修改系统默认字体的大小的核心功能实现和分析

  5. Android系统增加字体库及修改系统默认字体

    转载请注明出处:https://blog.csdn.net/hsaekong/article/details/80305263 前言 最近项目上需要修改android系统默认字体,现把总结记录下,便于 ...

  6. 怎么更改计算机管理员的用户名,如何修改系统默认账户administrator

    windows系统都会有几个默认账户,如administrator表示默认的管理员,guest表示默认的来宾用户.下面就让学习啦小编教大家如何修改系统默认账户administrator吧. 修改系统默 ...

  7. Android 修改系统默认输入法

    原文出处:http://www.ccbu.cc/framework/modify-default-inputmethod.html 1. 修改系统默认输入法 Android系统的默认输入法在很多情况下 ...

  8. ubuntu 修改系统默认语言为英文!

    ubuntu 修改系统默认语言为英文! 1.sudo vim /etc/default/locale 改为如下内容: LANG="en_US.UTF-8" LANGUAGE=&qu ...

  9. Mac 修改系统默认Java版本

    >原文作者:studytime >原文链接:[https://www.studytime.xin/](https://www.studytime.xin) Mac使用时,怎么去除修改系统默 ...

最新文章

  1. Android中的windowSoftInputMode属性详解
  2. SAP CRM WebClient UI Abstract Page的Selenium实现
  3. 入行嵌入式研发10多年,一位工程师悟出这些道理
  4. 手机支付:电信运营商会被边缘化吗?!
  5. 关于计算机展览的英语作文,2015考研英语作文范文精选:选什么东西参加展览?...
  6. 顶级公司在做数据挖掘,却忽略了数据管理平台,这个知识不得不看
  7. olap mysql_MySQL与OLAP:分析型SQL查询最佳实践探索
  8. WCF 4 高级编程 - 读书笔记
  9. 厨房手工工具行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  10. SQLServer2005 中 XML类型方法中 XQuery中变量的参数化--匆忙整理
  11. 181130每日一句
  12. qq家园纵横四海的源码
  13. WEB交互设计方法中”页面表达原则”
  14. 叮咚叮咚,京东叮咚音箱Skill开发之路
  15. 手机打电话的通讯原理
  16. Linux4步快速搭建DNS服务器
  17. 【解决方案】【亲测有效】Windows10离线安装.net3.5
  18. java学习笔记第三部分
  19. 【通識:人生哲學與幸福】青年心理學 Part2 成熟
  20. Lync 2010升级到Lync 2013之更新CU2!

热门文章

  1. 什么是电线老化?如何辨别?
  2. Mysql中使用sql语句查询前一个天、前一周、前一月时间的方法
  3. 【python】pythonPTA编程练习2
  4. stata软件不出图_stata 如何导出绘制的图?
  5. 天兔lepus部署文档
  6. 社区社群运营,如何打造火爆营销的方法?
  7. Win自动配置VS Code的C++开发环境
  8. 小米6-谷歌全家桶安装
  9. Python合并不同数量的Excel单元格
  10. 雷电模拟器如何启动某一特定应用 | ldconsole.exe runapp打开雷电内的APP没有任何反应怎么办