问题标签 [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 投票
0 回答
512 浏览

visual-c++ - MCI 加载视频文件

我正在尝试在我的 Visual c++ 应用程序中加载然后播放带有 mci 的视频文件,但 mciSendString() 方法一直失败并返回错误代码。错误代码是 259,意思是“MCIERR_UNRECOGNIZED_KEYWORD”。命令和格式对我来说看起来不错,当我通过它进行调试时,文件名会正确放置在命令字符串中。我不确定是什么原因造成的。

}

0 投票
1 回答
8046 浏览

c++ - 使用 mci 播放 MP3 发送字符串 c++

我正在尝试在我正在做的一个项目中播放一些 mp3 文件作为我的背景音乐。我尝试使用 mcisendstring 播放它,但它无法正常工作:(

这些是我所做的:

//加载函数

//load2函数

//播放函数

//getFileName 基本上返回存储为私有属性的 m_szFileName

0 投票
1 回答
544 浏览

c++ - MFC 中的 MCI 设备错误

MCI 错误

指定的文件无法在指定的 MCI 设备上播放。文件可能已损坏、格式不正确或没有文件

我使用以下代码创建设备并播放文件。

我观察到,当我的应用程序第二次使用 MCIWndCreate 创建设备时,它会引发此错误。

0 投票
0 回答
182 浏览

.net - 使用 MCI 命令读取 (MP3/WAV) 的幅度

我和几个朋友正在开发一个音板,我们想实现一个波形发生器,为此我们需要有关特定点声音幅度的信息。我将非常感谢有关如何获取此信息的任何想法。

我们正在使用 C++/CLI 和 MCI 命令。那么,是否可以使用 MCI 命令获取声音文件的振幅值?

0 投票
0 回答
1081 浏览

c# - C# - mciSendString,获取缓冲区(数组)的任何解决方案?

我正在通过 winmm.dll 的 DllImport 使用 MCI 创建读取器/记录器:mciSendString参见此处
它适用于很多事情,录音,播放,这很酷。我现在想对其进行一些处理,但我没有找到任何正确的方法、方法、技巧来在录制(数组)期间获取缓冲区?(不先保存到 WAV 文件)。

任何想法?

“提供一个代码示例,显示您想要获取的缓冲区。 – JeffRSon 昨天”
=> 我想在这个缓冲区上执行 fft(会说一个 Single[] 精度数组),我已经实现了一个 fft 来做到这一点。事实是,除了将记录保存到文件然后处理它之外,我不知道要获得任何直接信息。
=> 我想执行“实时”音频处理,或者至少弄清楚如何设置一个事件以每 4000 字节获取包含数据的缓冲区(我猜有一个,但 MCI 文档并不完全对我来说足够清楚)...

编辑二:我在这里找到了一个部分解决方案(仍然使用 MCI):见这里
和这里:见这里

我会尽快给出答案,我不同意这样的想法,即只要您获得与该主题相关的一些资源,就可以提供答案。我更喜欢放置自己的代码并显示它作品。

0 投票
1 回答
504 浏览

vb.net - 打开可共享的 Midi 合成器设备

这是我在这里的第一篇文章,所以我希望我不会搞砸。

我正在 vb.net (家庭作业)中创建一个吉他英雄作为控制台应用程序,我遇到了一些问题。我正在使用 CarlsMidiTools 将解析的音符值传递给合成器。但我也想在后台播放伴奏音乐。问题是,我只能同时使用其中一个,可能是因为我无法让我的合成器(标准 MS GS 波表)进入共享模式。我也有辅助合成器,如果我将音符传递给初级合成器并将伴奏音乐传递给辅助合成器,我可以让它工作。但这是错误的解决方案,需要为潜在用户下载辅助合成器。

我发现这条线使用“可共享”,它在代码中用于打开 cd 驱动器,但我猜它不适用于音序器。

TL;DR / 我的问题是 - 如何让我的默认合成器进入可共享模式,以便它可以收听 carlsMidiTools lib 命令以及 mciSendString 播放选项?

此代码抛出“错误打开 MIDI 端口 - 正在使用的设备”,因为我尝试为 CarlsMidiTools 再次打开它,然后它开始播放 guitar.mid 但“Inst.PlayNote(70, 127)”将没有机会说一句话。

0 投票
1 回答
557 浏览

c++ - C++/Win32 - 我的 MCI 利用率中的什么导致延迟?

我正在播放一个 MIDI 文件,并且我有一个计时器可以定期检查别名的状态。当它停止时,它执行:

我将其用作我正在创建的基本游戏的一部分。我注意到,每当歌曲重复播放时,应用程序都会在瞬间冻结。我认为这是由于我每次加载文件造成的,但如果我已经加载它并且只是在其中寻找,它不应该放慢速度,不是吗?我怎样才能让它不延迟?

我知道 MCI 可能不是播放 MIDI 文件的最佳选择。但是,我的程序只需要将两个 MIDI 文件加载到内存中并循环播放它们。最初我查看了第三方库,但其中大多数看起来比我需要的要多得多,而且其中很多都过于复杂。但是,如果有一个真正基本的、简单的可以满足我的需要,我很想听听。我不是在寻找多层 3d 声音或任何东西——只是加载到内存、播放和重复的能力。

0 投票
1 回答
1625 浏览

c++ - mciSendString 是否必须“等待”才能听到声音?

我正在尝试使用 mci 函数编写一个 mp3 播放器。(win 7 64bit,vs2010,c++)

当我尝试播放带有“等待”标志的 mp3 文件时,我可以听到该文件,但其他所有内容都卡住了,直到文件结束播放,如果我删除“等待”标志,我可以继续工作,但听不到任何声音。

这是代码示例:

我删除了对 mci 推荐返回值的检查,但我已经检查了它们,它们在两种情况下都很好。

难道我做错了什么?

0 投票
1 回答
291 浏览

c++ - 模拟视频标准对话框

我正在创建一个显示视频的程序,因为我使用的是 Delphi 和 directshow。我需要选择视频输入格式(NTSC、PAL、SECAM)。有一个对话框可让您进行此选择,但我不知道如何使用 delphi 或 c+ 和 directshow 显示它。显示让您选择模拟视频标准的对话框的过程是什么?

谢谢!

0 投票
1 回答
457 浏览

c# - MCI 中“long = mciSendString()”返回的值是什么意思

尝试使用 MCI 并找到一些示例代码,例如long = mciSendString(); 这个值的含义

试试看,我的代码

返回我的价值

返回值

并且每次(即使打开同一个文件)这个值都是不同的 - main q - 这个值是什么意思???