0

我真的希望有人能指出我正确的方向。当我在 Visual Studio Express 2010 中调试时,此代码可以完美运行,但在构建和部署时给我 mci 错误 263 - “指定的设备未打开或被 mci 识别”。

我尝试过修改构建设置,但没有任何乐趣。当然这一定是配置问题而不是代码?

任何人都可以提供的任何帮助将不胜感激。

----- 代码如下 ----

[DllImport("winmm.dll")]
private static extern int mciSendString(string lpstrCommand, string lpstrReturnString,               int uReturnLength, int hwndCallback);
[System.Runtime.InteropServices.DllImport("winmm.dll")]
private static extern bool mciGetErrorString(int fdwError, StringBuilder lpszErrorText, int cchErrorText);

///Inside a button function
mciSendString("open new Type waveaudio Alias recsound", "", 0, 0);
mciSendString("record recsound", "", 0, 0);

//Inside another button function
int i = mciSendString(@"save recsound C:/test22/sound", outs, 0, 0);
MessageBox.Show(""+i);

StringBuilder buffer = new StringBuilder(128);
bool returnValue = mciGetErrorString(i, buffer, buffer.Capacity);
string err = buffer.ToString();
MessageBox.Show(buffer.ToString());
4

2 回答 2

2

好吧,我通过实际指定一个文件将其另存为...来使您的代码正常工作

string outs = "";
//Inside another button function
int i = mciSendString(@"save recsound C:/test.wav", ref outs, 0, 0);

我也将 out 参数更改为 ref 虽然我怀疑这与它有什么关系。

于 2012-11-29T22:51:24.237 回答
0

您要播放什么类型的文件?它部署在哪里?我最近遇到了同样的问题;我无法在我的一台测试机器上播放 .mp3s 或 .wmas(我得到同样的错误:)263。我安装了 Windows Media Player 并且它们工作正常,所以这让我相信缺少编解码器。现在我只需要弄清楚它是什么编解码器。

于 2012-04-25T16:47:33.920 回答