首页 / 知识
关于音频:如何在Windows Vista中模拟/替换/重新启用经典的Sound Mixer控件(或命令)?
2023-04-15 20:44:00

How to emulate/replace/re-enable classical Sound Mixer controls (or commands) in Windows Vista?我有一个问题(并且已经有一段时间了)-Vista中的新混音器堆栈具有一些新奇的功能,但也重新发明了轮子。此后,许多以前在Windows系统上使用Volume Mixer将不同的浊音输出混合为一个输入的应用程序(例如Wave-out + Line-in-> Stereo Mix)已经停止工作。此行为的主要示例是Shoutcast DSP插件(对于解决方案测试可能很有用)。 如何重新启用XP-mixer控件,或者以某种方式模仿此行为,以便程序(SC DSP)可以正确管理麦克风/线路输入的播放音量以及波形播放的音量? 我的想法是模拟一个挂接到Vista混音器中用于Wave-Out和Line-out的程序(或麦克风扬声器音量-所有回放,显示为单独的可调"程序",以便Vista Mixer可以引用它)并将其"挂钩"到系统中,并以某种模拟将其表示为程序的旧音量混合器控制界面,但是坦率地说,我不知道该怎么做。 需要说明的是:这不是我的PC(它是HP Pavilion笔记本电脑)。该问题似乎主要由于Vista混音器控制单独的程序而不是单独的输入/输出而存在。该硬件完全能够执行使用Windows XP时所需的操作。我很清楚这是一个驱动程序问题,但是该驱动程序只是为Vista通过接口向程序员提供的内容做好了准备。调音台设备(在操作系统中可以看到,但可能会在软件中看到)基于Windows Audio控制的调音台API。 在Vista上使用Google进行搜索,并使用内置播放音量控制功能,以获取有关该问题(以及受此问题影响的大量用户)的更多信息。当然,重新编写适用于WinAMP的Shoutcast Source DSP插件可以解决问题,但这不太可能... 使用音频EndPoint API可以控制Windows Vista混音器中声卡的音量,单个输入/输出电平 这应该允许您调整主音量,音频输入和连接的音频的音量。关于这一点的一个皱纹是,当您枚举端点时,如果声卡中没有插入麦克风,那么将不会枚举任何东西。这意味着您需要更改应用程序以响应"麦克风插入"事件,并适当地通知用户。 另一个选择是浸入Microsoft Core Audio下方并直接访问WaveRT驱动程序。与使用WASAPI / Endpoint API相比,这要做的工作要多得多,但是它将为您提供对声卡输入/输出的最大控制权。 音频驱动程序控制可用的混音器控件,这在很大程度上取决于硬件的功能。 如果Vista驱动程序没有某些控件,则可能是该驱动程序而不是Vista的缺点。 (请告诉我们您正在使用哪个声卡/设备。) 可以编写一个程序来创建自己的混音器控件(这将是虚拟声卡的仅软件驱动程序),但是如果实际的驱动程序使用,该程序将无法影响设备内部的音频路由对此没有任何混音器控件。 如果将您的应用标记为在Windows XP兼容性下运行,则所有旧控件和行为都将返回。
的确如此,但是从SP2附带的Vista SP1补丁KB957388开始,并带有一些声卡驱动程序,当应用程序处于XP兼容模式时,旧的混音器API(winmm.dll)功能可能会挂起。特别是,在某些计算机上,mixerGetNumDevs和不太常见的mixerOpen不会返回。 我总共有大约200个Vista用户中有5个Vista用户的报告,这些应用在启动时会挂起我的应用程序,并且我一直跟踪到这些功能挂起。 我想将此报告给Microsoft,但找不到任何地方可以这样做。 我现在所能做的就是在未启用兼容模式的情况下发布软件,但这会失去我的应用程序的功能,并且该软件无法控制线路输入或麦克风混音器。 我没有时间直接使用低级API函数。我依靠高级组件,而我的开发系统(Delphi)找不到新的音频API。
我有兴趣付钱给我写一个DLL !!! |
最新内容
相关内容
linux监控cpu命令?
linux监控cpu命令?,情况,系统,信息,状态,时间,实时,电脑,工具,命令,百分比,linux查看cpu使用率使用lscpu命令 lscpu命令可以显示有关处理器架linux密码更改命令?
linux密码更改命令?,密码,系统,名称,信息,环境,命令,使用者,用户,权限,终端,Linux修改用户密码的命令是命令:passwd [-k] [-l] [-u [-f]] [-d]linux硬盘挂载命令?
linux硬盘挂载命令?,系统,设备,信息,电脑,情况,状态,管理,数据,工具,命令,linux磁盘挂载进入命令行模式下,输入命令 sudo -i 获取root权限 输入linux命令替换的字符?
linux命令替换的字符?,命令,数据,系统,商业,字符串,文件,内容,方法,批量,字符,Linux批量替换多个文件中字符串Linux下批量替换多个文件中的字linux命令行大全如何?
linux命令行大全如何?,地址,命令,基础,工作,管理,单位,数据,标准,目录,文件,linux必学的60个命令1、安装和登录命令:login、shutdown、halt、relinux开启bnc命令?
linux开启bnc命令?,网络,工作,酒店,电脑,光线,信息,位置,网卡,中心,价格,寝室校园网如何实现2台电脑共享上网?加个路由器,或者把一台电脑作为主图形化linux命令集?
图形化linux命令集?,系统,工作,密码,信息,软件,地址,命令,状态,工具,电脑,linux系统常用操作命令linux常用命令有pwd命令、cd命令、ls命令、calinux命令行打开浏览?
linux命令行打开浏览?,系统,网络,网址,工具,密码,首页,服务,网站,数据,地址,linux怎么打开命令行窗口在Linux系统中,打开命令行窗口需要使用终linux使用ssh命令?
linux使用ssh命令?,服务,系统,软件,在线,认证,地址,命令,协议,虚拟机,主机,ssh命令远程连接linux服务器你必须 在你的桌面 Linux 上安装好 Opelinux禁用rm命令?
linux禁用rm命令?,系统,命令,文件,名称,档案,工作,不了,环境,文件夹,目录,linux的rm可以取消吗1、rm删除的东西不能还原。文件一旦通过rm命令linux命令lscf?
linux命令lscf?,系统,工作,命令,地址,基础,目录,标准,名字,密码,管理,linux系统中ls命令的操作步骤是什么?首先打开linux的终端。然后输入touclinux操作常用命令?
linux操作常用命令?,工作,系统,地址,信息,命令,目录,管理,标准,基础,工具,linux常用命令及用法linux系统常用操作命令如下:ls:全拼list,功能是列