【问题标题】:MediaCapture failing intermittently (RecordState - The op is invalid)MediaCapture 间歇性失败(RecordState - 操作无效)
【发布时间】:2015-11-09 08:38:57
【问题描述】:

我正在使用MediaCapture API 在我的 Windows Phone 8.1 RT 应用程序中录制音频。录音工作正常,但 API 间歇性地抛出 System.Exception 并显示以下消息:
RecordState System.Exception: The op is invalid. at the statement Windows.Media.Capture.MediaCapture.StartRecordToStorageFileAsync(MediaEncodingProfile encodingProfile, IStorageFile file)

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

【问题讨论】:

  • 请提供您用于调用“StartRecord..”方法的代码。您使用的是await 关键字吗?这可能会对您有所帮助:social.msdn.microsoft.com/Forums/en-US/…
  • 找到这背后的原因。在抛出异常之前多次调用MediaCapture.StartRecordToStorageFileAsync() 而不调用MediaCapture.StopRecordAsync()

标签: windows-runtime windows-phone-8.1 winrt-xaml


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,正如你所说的多次调用 StartRecordToStorageFileAsync() 而不用 StopRecordAsync() 停止以前的捕获会产生这种情况。我必须确保我没有触发StartRecordToStorageFileAsync()每次我使用的计时器被激活,我使用了这个:

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

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

    【讨论】:

      猜你喜欢
      • 2011-06-12
      • 2019-04-18
      • 2011-10-21
      • 1970-01-01
      • 1970-01-01
      • 2017-04-19
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      相关资源
      最近更新 更多