我真的希望有人能指出我正确的方向。当我在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());
答案 0 :(得分:2)
通过实际指定一个文件将其保存为...
,我得到了你的代码string outs = "";
//Inside another button function
int i = mciSendString(@"save recsound C:/test.wav", ref outs, 0, 0);
我也将out参数更改为ref,尽管我怀疑它与它有什么关系。
答案 1 :(得分:0)
您尝试播放什么类型的文件?它在哪里部署?我最近遇到了同样的问题;我无法在我的一台测试机上播放.mp3s或.wmas(我得到了同样的错误:263
)。我安装了Windows Media Player并且工作正常,因此这让我相信缺少编解码器。现在我只需弄清楚它是什么编解码器。