问题标签 [mixer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 如何在 Windows Vista 中模拟/替换/重新启用经典的混音器控件(或命令)?
我有一个问题(现在已经有一段时间了)——Vista 中的新混音器堆栈具有新的很酷的东西,但也重新发明了轮子。许多过去在 Windows 系统上使用 Volume Mixer 将不同的有声输出混合到一个输入(例如 Wave-out + Line-in --> Stereo Mix)的应用程序已经停止工作。这种行为的主要例子是 Shoutcast DSP 插件(可能对解决方案测试有用)。
如何重新启用 XP 混音器控件,或者以某种方式模拟这种行为,以便程序 (SC DSP) 可以正确管理麦克风/线路输入播放音量以及 Wave-out 播放音量?
我的想法是模拟一个连接到 Vista 混音器中的程序,用于 Wave-Out 和 Line-out(或麦克风扬声器音量——所有播放,显示为单独的可调节“程序”,以便 Vista 混音器可以参考它)并在某种模拟下将其“挂钩”到系统中,该模拟将自己作为程序的旧音量混音器控制界面,但坦率地说,我不知道该怎么做。
澄清一下:这不是我的 PC(它是 HP Pavilion 笔记本电脑)。问题的存在似乎主要是因为 Vista 混音器控制单独的程序,而不是单独的输入/输出。硬件完全能够完成使用 Windows XP 时所需的操作。我很清楚这是一个驱动程序问题,但驱动程序只是为 Vista 通过接口呈现给程序员的内容而准备的。混音器设备 - 如在操作系统中所见,但它可能在软件中 - 基于用于 Windows 音频控制的混音器 API。
在 Vista 上使用 Google 搜索和线路输入播放音量控制以获取有关该问题的更多信息(以及受其影响的用户数量)。当然,为 WinAMP 重写 Shoutcast Source DSP 插件就可以了,但这不太可能发生……
c++ - 映射 ISpMMSysAudio::SetLineId 和 mixerLineId
我想通过调用 ISpMMSysAudio::SetLineId 为 SAPI 设置 lineId。我从我拥有的搅拌机手柄上找出我想设置的线。然而,我从混音器获得的线路 ID 不是 SAPI 所假设的。这会导致 SAPI 监听麦克风的错误输入线,因此没有输入。
我正在为混音器手柄获取“DST_WAVEIN”的多路复用器控制,然后检查麦克风的哪个源线处于活动状态。我希望将活动行设置为 SAPI 的“输入”。
我通过枚举 MUX 控制从混音器获取线路 ID,如下所示:
int GetSelectedWaveInLine(UINT uMixrId) { int iRetVal = -1; MMRESULT 毫米结果;HMIXER dwMixerHandle;
}
Mixer 返回的索引与 ISpMMSysAudio 使用的索引不匹配。我的语音引擎选择不同的线路 ID。
谢谢
gnome - GNOME 中的音量/混音器操作
在 GNOME 环境中表现良好的程序操作混音器的正确方法是什么?(音量、静音等)
总线?直接ALSA?别的东西?
.net - 如何在.net中实现多声道音频预混器
我想使用 C# 来实现一个可以同时播放多个音频流的应用程序。Peanuts - 现在有趣的部分:假设每个流都是单声道(单声道)我想分别为每个流调整每个扬声器(5.1 甚至 7.1)的音量。我可以使用 windows 混音器来做到这一点,但问题是,只有一个混音器,我想分别为每个流调整它。任何想法如何实现这一点?
我的第一个猜测是将流多路复用八次(7.1),为每个“通道”应用音量级别,然后将其发送到 windows 混音器,例如,所有通道的电平为 80%。您知道任何可能支持此类用例的库吗?
AFAIK bass 和 fmod 无法做到这一点,但如果我错了,请纠正我。作为替代方案,我正在考虑为此破解 XNA:使用一个向量来描述与听者相关的流的位置,并使用它来应用音量补偿……只是漫无目的。
(请不要在这方面向我指出一些 C++/WinAPI 的想法,这个项目现在不值得学习另一种语言。)
api - YouTube Autosuggest API - 在哪里可以找到示例或文档?
我想创建一个具有相同自动完成功能的 YouTube 视频搜索框。知道在哪里可以找到样本或文档吗?
谢谢
c++ - DirectSound:如何改变麦克风的输入音量?
我对 Directsound 和 windows 混音器有一些疑问。我的目标是枚举所有麦克风并能够更改每个麦克风的输入音量。我认为我离解决方案不远,但我没有发现我的代码有什么问题。这是我所做的: - 我枚举所有输入设备并为每个设备获取一个 GUID - 我使用在主题上找到的方法来获取与使用此方法的直接声音 guid 相对应的混音器 ID(但我不确定是否它有效) - 然后我得到与混音器中的控件相对应的 id - 然后我可以修改音量
这是代码:一个vs2008项目
为了测试,我连接了两个麦克风 USB + 线路输入麦克风,我目视检查哪些滑块在移动。但不幸的是,这不是一个好的...这里是我在 windows xp 中打开的所有混音器的屏幕截图 (img177.imageshack.us/img177/5189/mixers.jpg)。
你知道我做错了什么吗?有没有最简单的解决方案?
附加问题:您知道是否有办法使用 Directsound 来了解 Line-in 中是否连接了麦克风?因为即使没有连接麦克风,线路输入也始终被检测为已连接。
audio - 如何混合音频样本?
我的问题并不完全与编程相关,但我认为 SO 是正确的地方。
在我的程序中,我生成了一些音频数据并将曲目保存到 WAV 文件中。一台声音发生器一切正常。但是现在我想添加更多的生成器并将生成的音频数据混合到一个文件中。不幸的是,它比乍看起来要复杂得多。此外,我没有找到关于如何混合一组音频样本的有用信息。
那么有人可以给我建议吗?
编辑:
我正在用 C++ 编程。但这没关系,因为我对混合两个音轨背后的理论感兴趣。我遇到的问题是我不能只对样本进行总结,因为这通常会产生失真的声音。
audio - 服务器端混音器。有什么可用的?(Csound可以做到这一点吗?)
我有兴趣找出是否存在可以执行以下任务的程序或库,并且适合作为网站上服务器端进程的一部分运行。(如果它花费的时间超过单页请求合理的 200 毫秒最大值也没关系 - 我可以将它作为异步进程运行。)
任务是这样的:我有一组音频文件作为输入,并且我有一些关于每个音频文件应该何时开始在时间线上播放的数据。程序应该输出一个音频文件,它是输入音频的混合,使用时间线数据组合。也就是说,我想要一个以批处理模式而不是实时运行的混音器。
我做了一些谷歌搜索,但有点沮丧,因为我不确定我应该寻找什么。大多数音频混音器似乎都面向游戏等实时应用程序,我不确定如何找到像命令行实用程序那样执行此任务的东西——纯粹接受输入,并尽可能快地产生输出。
我希望这个问题是有道理的。
编辑:有人评论了Csound,然后将其删除。什么是Csound?做我要求的事情相对简单吗?请记住,我的输入声音文件可能长达 10-50 秒,而且我对音高失真不感兴趣。
您将如何在 Csound 中完成此任务?
除了Csound之外还有什么可以做这种事情的吗?
c++ - 如何在Vista和7中全局静音和取消静音,并获得静音状态?
我现在正在使用旧的好的 Mixer API,但它在 Windows Vista 和 7 上不能正常工作,而不是在 XP 兼容模式下。它只为当前应用程序静音,但我需要一个全局(硬件)静音。如何达到目标?有没有办法在纯 C/C++ 中编写这个没有 COM 接口和奇怪调用的代码?
c# - 在 c# 中获取主音量
我需要获取声卡输出的当前音量。
有什么想法吗?