gpt4 book ai didi

audio - 从mciSendString返回的奇怪错误-有人可以帮忙吗?

转载 作者:行者123 更新时间:2023-12-03 02:28:13 28 4
gpt4 key购买 nike

几个月前,我将音频记录添加到正在使用的MFC应用程序中。事实证明这很容易,一两个小时后,代码就可以在我的PC和几个客户的测试机器上运行了(一个运行XP,另一个运行Vista)。但是,最近他们的一台测试机已经升级,现在录音功能无法正常工作。

开始录制的基本代码是..

mcierr=mciSendString("open new type waveaudio alias mysound",tmpstr,80,NULL);
mcierr=mciSendString("set mysound time format ms bitspersample 8 samplespersec 11025",tmpstr,80,NULL);
mcierr=mciSendString("record mysound",tmpstr,80,NULL);

这似乎工作正常。要停止记录,将执行以下代码。
mcierr=mciSendString("stop mysound",tmpstr,80,NULL);
mcierr=mciSendString("save mysound C:\\filename.wav",tmpstr,80,NULL);
mcierr=mciSendString("close mysound",tmpstr,80,NULL);

发送“保存mysound C:\ filename.wav”指令时,发生以下错误。返回的错误是..
MCI Error A parameter or value was specified twice.  Only specify it once.

但是我看不到我发送的任何错误,并且该错误没有任何意义。错误是否可能是因为程序试图使用PC不支持的格式进行记录?

谢谢你的时间

伊恩

最佳答案

好的,我设法找到了解决方案。代码中的这一行..

mcierr=mciSendString("save mysound C:\\filename.wav",tmpstr,80,NULL); 

在运行XP的开发PC上可以正常工作,但是在运行XP的某些测试PC以及所有运行Vista的PC上会导致错误。但是,如果将文件名本身放在这样的引号中,则错误会消失。
mcierr=mciSendString("save mysound "C:\\filename.wav"",tmpstr,80,NULL);

现在,该代码可以在所有经过测试的XP和Vista PC上正常运行。

伊恩

关于audio - 从mciSendString返回的奇怪错误-有人可以帮忙吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/642691/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com