问题标签 [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++ - 音频处理和删除部分音频
我是语音编码的新手,现在我成功地在文件中录制了麦克风,并每 10 秒将其保存在具有SaveRecordtoFile
功能的文件中(这样做没有问题)
现在我想从记录的数据中删除例如 2 秒,所以我的输出将是 8 秒而不是 10 秒,randomTime
数组0
中是我想要删除的秒数......
在 for 循环中,我将数据复制到waveHeader->lpData
新缓冲区中if (randomTime[i] == '1')
看起来这是一个真正的算法,应该可以工作,但问题是输出,一些输出很好(大约 70% 或更多),但其中一些已损坏
我认为我的代码有错误,但我调试了这段代码几天,但我不明白问题出在哪里?
由于我 70% 或更多的输出都很好,我认为这不是因为字节或样本
c++ - PlaySound() winmm 不播放现有声音
我只是在 c++、opengl 和 glut 中有一个小行星游戏项目。我正在尝试使用 minGW 和 Visual Studio Code 中的Windows.h
and播放推力船的声音,mmsystem.h
然后再放入我的行编译器代码。
accelerate
当按下 Glut specialKey UP 时,我执行了一个小函数:
看方法一,歌曲播放有延迟很长的延迟和SND_ASYNC
不工作。使用方法 2,我在终端上遇到错误:
如果我尝试放置所有路径C:\\MinGW\\projetos\\sounds\\thrust.wav
,我会遇到同样的错误。
如果有人有任何想法,请发布。
c# - 使用 windows 多媒体 (winmm.dll) 获取设备(操纵杆)guid
我尝试实现与非托管代码和 c# 的互操作。
我决定为此使用 winmm.dll。
需要获取操纵杆唯一的 guid 并识别设备状态(连接或未连接)
经过一番调查,我相信应该做到这一点的功能已经确定(joyGetDevCapsA)。但是不清楚应该将什么值作为int id参数传递
没有太多关于winmm API for C#思想互联网的信息,所以如果有人有经验,请分享。
Q:如何检测当前是否有摇杆并获取设备唯一的Guid?
python - Winmm.dll 不返回文件长度
我正在尝试使用 winmm.dll (ctypes.windll.winmm) 在 python 中播放 .mp3 文件。但是当我尝试以毫秒为单位获取某个文件的长度时,而不是实际长度(05:23 = 大约 323000 毫秒)我只得到 3。状态命令得到的时间格式是“m”,之后它不会改变设置命令。这是一些说明问题的代码:
及其输出:
在此先感谢您的帮助!
excel - 如何通过VBA同时异步循环播放Excel中的多个WAV文件?
这是我第一次寻求帮助。
我检查了很多网站,甚至通过维也纳大学的 WaybackMachine for Excel 文件,我还没有找到解决方案。我检查了来自 winmm.dll API 的函数,例如 sndPlaySoundA 和 mciSendStringA。
我能够播放异步循环的 WAV 文件,但目前无法同时播放另一个异步循环的文件。正如您在下面看到的,可以组合启用循环和异步的标志。我已经尝试将它与另一个标志结合起来,但没有我想要的结果。
我还尝试了下面的代码,它异步播放多个文件但不循环播放。知道如何异步循环多个文件并控制它们吗?
c - 未调用消息“MM_WOM_DONE”
我有一个问题:一旦音频块播放完毕,我就没有收到“MM_WOM_DONE”。
声音相关代码:
控制台输出:
正弦波播放良好且正确,但一旦播放完毕,一些短暂的白噪声就会开始播放很短的时间(接近 100-200 毫秒)。还有“正弦波停止播放!” 消息永远不会出现在控制台中,这意味着永远不会使用“MM_WOM_DONE”消息调用 WndProc 函数。如果我在“initSound”函数中处理所有内容,即使写入和关闭 waveOut 之间的延迟更大(超过一秒),正弦波最终也不会播放白噪声。
c++ - 如何知道 MMsystem 录音何时结束?
我正在使用“winmm.lib”c++ 库通过麦克风访问音频。
我有一个包含 8192 个元素的短整数数组,我想用音频流填充它们。
当我在正确的时间段内录制声音和睡眠时,它工作正常:
但是现在,我想在waveInStart()
调用函数之后做一些事情,同时录音,就像这样:
这个库中是否有一个函数可以知道声音缓冲区是否已被完全填满?
编辑:
我的帖子不够清楚:我正在寻找的是我的示例中“is_still_recording”的 winmm 函数。
我知道有一个,但我无法在任何地方找到它。
vb.net - 在特定时间播放声音 - Winmm.dll - VB.Net
我开始使用 winmm.dll 播放声音(它提供了一次播放多个声音并设置音频参数的可能性),但我找不到该库所有功能的有效列表。
我有一个包含更多音乐的 Wav 文件,所以我必须单独启动它们。
我有这个代码:
那么 Winmm.dll 中是否有一个函数可以在特定时间开始播放声音?
c# - 如何在 WPF 中使用 Windows 多媒体 API (winmm.dll) 播放波形文件?
我正在开发一个波形文件播放系统,但我无法使用正确的播放输出winmm.dll
我遇到的问题是:
- 播放突然停止。
- 播放速度加快或中断或两者兼而有之。
- 根本没有播放。
- “停止”方法导致系统挂起
Thread.Join
呼叫。
我确实意识到在 C#、WPF 中播放声音文件还有其他选择,但我正试图通过文件来实现它winmm.dll
,.wav
因为它可以让我*(我希望)构建特定的功能,例如:Wave File Visualization and Sound效果过滤器。
我看过这个代码项目链接:
它非常有见地,但我无法在 WPF 中获得类似的结果。我不确定问题是否与垃圾收集有关,垃圾收集从 Windows 窗体到 WPF 的工作方式不同。
这是我在 GitHub 上的项目:
Wave Player - 基础 - WPF 和 Windows 窗体
该解决方案有 2 个项目:一个是 Windows 窗体,另一个是 WPF。Windows 窗体项目工作正常,而 WPF 则不行。然而,这两个项目都使用相同的winmm.dll
代码逻辑。
我还在“波形音频”上找到了这个 Microsoft 链接:
任何帮助或建议将不胜感激。
c++ - 在 gcc windows api 字符串处理中启用 UNICODE
我正在尝试通过 Windows Wave 设备进行扫描,使用以下测试片段test.cpp
;
用 PowerShell 在 PowerShell 中编译gcc version 8.1.0 (i686-posix-dwarf-rev0, Built by MinGW-W64 project)
,我收到此错误:
我认为wstring
构造函数包括对 c 风格的空终止字符串的支持。为什么我会收到此错误?