Windows runtime MediaCapture间歇性失败(RecordState-op无效)

Windows runtime MediaCapture间歇性失败(RecordState-op无效),windows-runtime,windows-phone-8.1,winrt-xaml,Windows Runtime,Windows Phone 8.1,Winrt Xaml,我正在使用MediaCaptureAPI在我的Windows Phone 8.1 RT应用程序中录制音频。音频录制工作正常,但API间歇性地抛出System.Exception,并显示以下消息: RecordState系统。异常:op无效。在语句处 Windows.Media.Capture.MediaCapture.StartRecordToStorageFileAsync(MediaEncodingProfile encodingProfile,IStorageFile文件) 我无法找到有关

我正在使用
MediaCapture
API在我的Windows Phone 8.1 RT应用程序中录制音频。音频录制工作正常,但API间歇性地抛出
System.Exception
,并显示以下消息:
RecordState系统。异常:op无效。
在语句处
Windows.Media.Capture.MediaCapture.StartRecordToStorageFileAsync(MediaEncodingProfile encodingProfile,IStorageFile文件)


我无法找到有关此错误原因的更多信息。有人能指出一些方向吗?

找到了此异常的原因。我反复调用
MediaCapture.StartRecordToStorageFileAsync()
,即使
MediaCapture
对象已经在录制音频。在调用
StartRecordToStorageFileAsync()
之前,我必须确保调用了
MediaCapture.StopRecordAsync()
,以便不违反录制对象的状态


类似地,多次调用
StopRecordAsync()
也会引发类似的异常。

我遇到了相同的问题,正如您所说,多次调用
StartRecordToStorageFileAsync()
而不停止前面使用
StopRecordAsync()的捕获会导致这种情况。我必须确保我没有触发
StartRecordToStorageFileAsync()
每当我使用的计时器被激活时,我都会使用以下命令:

            if (_PrimeraVez)
            {
                CameraRecord(); //My own method
                _PrimeraVez = false;
            }   

很高兴您自己找到了解决方案。

请提供用于调用方法“StartRecord…”的代码。。您正在使用
wait
关键字吗?这可能对你有所帮助:找到了背后的原因。多次调用
MediaCapture.StartRecordToStorageFileAsync()
,而不调用
MediaCapture.StopRecordAsync()
,然后抛出异常。