问题标签 [mci]

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.

0 投票
2 回答
346 浏览

c++ - C++向量中数据损坏的原因?

我正在尝试编写一个基本的 MP3 播放器来尝试使用 C++ 的一些 Windows 内容,到目前为止一切进展顺利。我尝试编写一个队列类以在当前歌曲结束后播放更多歌曲,每次将新歌曲添加到队列中时,队列中的所有其他数据似乎都已损坏,这显然会导致问题。我的主文件中的 handleOpen() 函数的第 202 行和第 212 行之间似乎发生了损坏。我尝试过更改变量范围并弄乱插入代码,但这些都没有解决问题。我通常用 Java 编写,所以 C++ 有时对我来说有点难。

主文件

队列.cpp

播放器.cpp

队列基本上只是一个带有一些附加功能的向量,所以我有点困惑我哪里出错了。非常感谢任何帮助,谢谢!

0 投票
1 回答
17 浏览

windows-7 - 使用 4 个或更多流停止 WMP

我用 C 语言开发了一个应用程序,可以在后台显示 4 个视频和 1 个声音文件。

该视频使用了微软在 WMP SDK 中提供的 C++ 类中的 WMP 对象。音频使用发送命令字符串的 Windows 的 MCI(媒体控制接口)。

为了能够播放许多不同的格式,我安装了windows.7.codec.pack

我遇到一个问题,当播放超过 3 个媒体文件(视频或音频)时,媒体停顿。要开始的视频不断地从状态 3(正在播放)循环到状态 9(准备新媒体)再到状态 10(准备开始播放 - 没有任何事情发生),依此类推。这被视为视频的闪烁(状态 3),然后是几秒钟的空白(黑色或桌面背景,状态 9)。一旦视频开始播放,它就会一直播放到最后。

将要播放的媒体文件数量减少到 2 个视频和 1 个音频,让它可以正常播放;增加到 3 个或更多视频和 1 个音频,就会发生这种情况。任务管理器显示 CPU 负载低于 25%,因此 CPU 不是问题。

似乎 MCI 和 WMP 在后台共享内容,因为不仅视频停顿,而且音频停止而不报告错误(查询 MCI 返回它正在播放,但没有声音)。

我升级到windows.7.codec.pack.v4.2.6. 这有一个糟糕的表现

我恢复到windows.7.codec.pack.v4.1.6. 这具有更好的性能,但仍然不完美。

我的问题:

  • 有什么方法可以配置 Windows 或编解码器包以无缝处理 5 个流?

  • 我如何向开发人员报告此问题?

  • 是否有其他编解码器包没有这个问题?

  • 还有什么建议吗?

系统信息:Intel i7-3520M X64 双核,2.9Ghz,8GB 物理内存和 NVIDIA Quatro K1000M 显示适配器。

0 投票
1 回答
178 浏览

c++ - 使用 mciSendString 播放 mp3 文件但不工作(也没有给出任何错误)

这是我的代码:

当我用我的 mp3 文件的文件路径替换“* .mp3”并运行我的程序时,没有播放音频并且程序立即结束,我做错了什么?没有错误它只是结束而没有播放任何东西。我有什么遗漏或做错了吗?提到我正在使用 VC++ 可能也很重要。

0 投票
1 回答
34 浏览

c++ - 如何在 MCI 中设置 Wav 文件音量(MCIWndSetVolum 错误)

我正在使用 lame 库和 MCI 制作一个简单的音乐播放程序。将 MP3 文件解码成 wav 文件后,使用 MCIWndCreate 和 MCIWndPlay 播放音乐。所有功能都运行良好,但设置音量时出现问题。我找到并使用了一种名为 MCIWndSetVolume(hWnd, iVol) 的方法来设置音量。但我得到如下错误。如果你知道哪一部分是问题,请给我一点建议。非常感谢您阅读并回答我的问题。错误消息 -> 驱动程序无法识别指定的命令。

这是一种使用播放和滑块控制音量的方法。

0 投票
0 回答
27 浏览

c++ - 我可以使用 mciSendCommand 设置音量吗?

我使用 mciSendCommand 方法制作了一个音乐播放程序。最后,仅保留设置音量的功能。你知道如何使用 mciSendCommand 方法设置音量吗?我搜索了,但只有用 mciSendString 处理的数据出来了。

找了无数遍,终于找到了这样的方法

但是,我收到 MCIERR_INVALID_DEVICE_ID 错误。

我知道 MCI_OPEN 中使用的设备 ID 并使用了相同的 ID。你知道如何解决吗?

0 投票
0 回答
51 浏览

c# - 如何在 C# 中使用“mciSendString”将波形文件设置为 8khz/16 位/单声道格式?

这是下面的代码,用于在 c# 中记录和设置波形文件格式。

但这不起作用。

0 投票
1 回答
48 浏览

python - 如何暂停使用 MCI 播放的歌曲?(使用线程或多处理)

我正在尝试制作一个能够播放、停止、暂停和恢复歌曲的简单音频播放器。

我想要做什么

  • 在单独的线程上运行音频,然后能够使用主线程中的 MCI 来暂停和恢复它。

什么不起作用

  • 当尝试使用线程或多处理调用函数来播放歌曲时,MCI 返回一个值为 263 的错误代码(不幸的是,我无法在网上找到任何关于数字错误代码的文档)并立即结束整个程序。

有什么作用

  • 在不使用线程/多处理的情况下播放、暂停和恢复。

我的代码

0 投票
0 回答
16 浏览

c# - 在 winfom C# 中使用 MCI 获取无声音的 0 字节波形文件

在 winfom C# 中使用 MCI 获取没有声音的 0 字节波形文件

到目前为止它工作正常,没有错误,因为我确实得到了在所需位置命名的 .wav 文件,但是它总是有 1KB 的大小让我认为我可能实际上并没有开始录制?

0 投票
0 回答
28 浏览

c# - MciSendString 别名重用

我正在使用 mcisendstring 播放音乐,它使用别名来播放它。我想要的是,该文件应该在不更改别名的情况下再次播放。

但是文件只播放一次,如果我更改别名它将播放,但我不想更改别名,对此有什么帮助吗?

0 投票
1 回答
97 浏览

python - PlaySound keeps giving me errors and not playing sound

I am making an application that requires sound, and when I am trying to play the sound, I keep getting this error:

And these are the lines of code causing the error: