修改系统默认的音频设备
2006-12-19 09:33
330 查看
修改系统默认的音频设备,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
或者
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 |
相关文章推荐
- Android系统移植与调试之------->如何修改Android设备的默认休眠时间
- 如何修改pcDuino系统默认的音频输出
- 修改系统默认的录音设备
- Win7下修改默认音频设备的方法
- 手把手教你修改pcduino系统默认的音频输出
- win8.1 Ubuntu14双系统修改默认启动项
- 修改系统默认的音量大小
- (转)怎么修改ubuntu系统的默认字体和格式? && 怎么在IDE中添加可选项之外的字体?
- Ubuntu与Windows双系统修改默认启动项
- Ubuntu修改系统的默认启动级别
- 嵌入式linux:Ubuntu系统下bash和dash的区别(修改默认sh为bash)
- 修改系统默认输入法
- [置顶] Android系统移植与调试之------->如何修改Android设备添加3G上网功能
- 关于XP系统下IE8总是提示设置默认浏览器的修改问题
- Android framework系统默认设置修改
- 修改系统后默认的编码
- CentOS修改系统默认语言设置
- 修改CentOS系统的默认启动级别
- Ubuntu下修改系统默认语言为简体中文
- 修改 linux 默认启动级别 设置系统时间 定时关机