问题标签 [winmm]
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.
c++ - 如何使用 windows 多媒体 api 更改扬声器的麦克风音量?
我使用 windows 多媒体 api 来改变 C++ 中的音量。我使用 IAudioEndpointVolume 接口的 SetMasterVolumeLevelScalar 方法来更改扬声器和麦克风的主音量,它可以正常工作。
我还想以编程方式更改扬声器的麦克风音量,可以在此处看到:
我想以编程方式将扬声器的麦克风值设置为零。我试过 SetChannelVolumeLevelScalar 方法,但它是为了改变左/右声道音量。
如何以编程方式更改它?
问候。
c# - 在 C# 中使用 winmm.dll 预加载音频文件
我正在使用 C# 和 winmm.dll 编写一个波形音频播放器。为了减少从一个文件切换到下一个文件时的延迟,我使用不同的别名打开下一个文件。在切换到下一个文件时,我停止了第一个别名,然后播放第二个。一切都很好,直到用户在播放下一个(预加载的)文件之前等待一段时间(即 20 分钟)。在这种情况下,播放器在播放新文件之前有 5 秒的延迟,该文件已经预加载了一段时间。
问题是,winmm.dll 是否将未使用的文件置于“待机”模式?我们是否需要在特定时间段内激活它以减少延迟?如果是的话怎么做?
我找到了一个名为“parked”的状态,但这永远不会返回,而且我在网上找不到任何描述它的东西。
如果有人可以提供帮助,这将是一个很大的帮助,因为该 DLL 的文档并不多。
提前致谢!
vb.net - Winmm.dll 在 Windows 8.1 中仅记录 Mono
我有一个应用程序可以记录我多年来一直使用的 PC 音频。在我的 Windows 8.1 计算机上,我的应用程序仅以单声道、8 位、11025 KHz 录制。在我的 Windows 7 计算机和所有以前的操作系统上,它可以录制立体声、16 位、44100 KHz,因为它应该。这是我的代码片段,当然可以在许多参考资料中找到:
有什么方法可以在 Windows 8.1 中正确录制吗?在此先感谢您的帮助。
c# - Windows 8.1 WPF 应用程序 mixSetControlDetails 返回 MMSYSERR_ERROR
编辑
修改NAudio源码,稍作调试,发现mixerSetControlDetails
设置属性时调用的函数Value
返回MMSYSERR_ERROR
.
有没有办法获得有关mixerSetControlDetails
失败原因的更多信息?
我也对在 C# 上完成同样事情的其他方法持开放态度。
原来的
我有一些代码可以计算语音能量并使用 NAudio 根据此计算值设置麦克风提升级别。我阅读音频样本没有问题,但是当我尝试设置麦克风增强时,程序卡住了。
我已经检查了 Windows 7、8 和 8.1 上的问题。该问题仅出现在 Windows 8.1 上。有趣的是,当我在装有 Windows 8.1 的虚拟机上运行该程序时,它按预期工作。这可能是权限问题吗?
这是设置提升值的代码
使用此代码预先创建 MixerLine 的位置。
c - How to use PlaySound in C
I am using code::blocks IDE which runs on GNU GCC compiler. In my project I want to play a .wav sound file in C. I tried to play a .wav sound file with a function called PlaySound. When I compiled the code code::blocks gave me an error - PlaySoundA not declared. My code is-
I checked my path twice. I read about this function on the internet and as per me I am using it in the correct way.
In Google, I read that the function exists in a file called winmm.lib. So I put a line of code after all the headers. It was-
I also added the name winmm.lib to the additional dependencies of code::blocks. So now when I compile the code it gives me another error - winmm.lib not found. Can somebody please tell me how to use PlaySound correctly.
c# - 在 C# 中使用 winmm.dll 录制音频
我正在用 C# 开发一个应用程序,我正在尝试使用 winmm.dll 录制声音。几天前我能够录制音频,但现在没有生成音频文件。也不会产生错误。我调试了程序,但找不到哪里出错了。
这是我的代码:
duplicates - 使用多个相同类型的设备时,midi 命名不一致
尝试使用相同类型硬件的多个 USB MIDI 设备时,我面临设备命名的模糊行为。由于这可能与硬件/系统/驱动程序相关,因此这是我的一般设置:
- 主机:Windows 8.1 x64(在多台机器上测试)
- USB 设备:2x Livid Brain V2(通用 USB-midi 接口)
这两个设备(相同的硬件,我们称它们为设备 X 和 Y)使用两种不同的固件风格进行刷新,因此它们在 midi 枚举中以不同的名称出现。如果我只连接设备 X,它显示为“Brain2”/如果我只连接设备 Y,它是“Brain2B”。这些是我从MIDIINCAPS / MIDIOUTCAPS (winmm.dll) 中获得的名称。到目前为止,一切都很好。
当我同时连接两个设备时,问题就会出现,而不是两者都获得相同的名称(后者连接的) - 所以枚举发生了变化:
- 首先是 X,然后是 Y => 都取名为“Brain2B”
- 首先是 Y,然后是 X => 都取名为“Brain2”
但是,我可以访问和使用这些设备,但我无法再区分它们(这与两个设备上具有相同固件的起始位置基本相同)。
如果有人能指出我正确的方向,我会很高兴。有没有人遇到过类似的事情?这可能是与系统相关的问题吗?(或者它是一个糟糕的驱动程序,也许?)提前谢谢!
编辑:
我使用名为USB 设备树查看器(类似于 USBView)的工具仔细查看了 USB 属性,结果发现那里的标识符是正确的。那么,winmm.dll是如何获得 midi 枚举的——这可能是一个错误吗?(不太可能)
莫里茨
(顺便说一句:这是制造商论坛中的相关主题/帖子:链接)
c# - 寻找 mp3 时 winmm.dll 音量下降
在过去的几天里,我一直在玩耍并学习如何使用 winmm.dll,并且有一个大部分工作的程序,但遇到了一个我无法找到解决方案的问题。我遇到的问题是,在搜索歌曲一些随机次数(通常是 10 到 20 次)之后,音量会下降得相当低,可能会下降到原始歌曲的 20% 左右。这将继续发生,音量每次都变低,有时会恢复到原始水平。通过“setaudio”命令设置的实际音量因子无论下降多少仍然是正确的,并且仍然可以在较低级别进行完美调整。我已经在 Windows 7 和 10 上对此进行了测试,但问题仍然存在。
求法:
音量属性:
我正在使用带有一些附加功能的跟踪栏进行搜索,以允许点击搜索并避免垃圾邮件搜索请求。该跟踪栏也由计时器更新以跟踪歌曲的进度。事件处理程序方法如下。
我知道我可以使用 waveOut 设置和获取音量功能,但更喜欢“setaudio”命令,因为它不会更改程序的音量混合器设置。我还打算在解决此问题后添加错误捕获。
同样,以防万一,MouseDown 事件处理程序中的 MinMax 方法是我为限制值而编写的扩展。
c# - winmm.dll mciSendString 可能的最低音频设置?
我正在尝试使用 C# 和 winmm.dll 将此录制设置为可能的最低设置。我已经设置了下面的设置,但我没有听到任何区别。有谁知道我是否遗漏了什么?
我正在尝试尽可能低的音频设置。就像您从对讲机中听到的一样。
我对采样率所做的任何更改似乎都没有生效。
谢谢,