NAudio - 无法通过AppDomains传递GCHandle

时间:2012-11-02 02:39:40

标签: handle naudio

我的客户端有一个长时间运行的过程,它使用NAudio按计划在默认录制设备上录制传入的音频几个小时。它作为桌面程序运行,一次运行数天或数周。

今天他发给我这个例外报告:

Cannot pass a GCHandle across AppDomains.
Parameter name: handle
System.ArgumentException
   at System.Runtime.InteropServices.GCHandle.InternalCheckDomain(IntPtr handle)
   at System.Runtime.InteropServices.GCHandle.FromIntPtr(IntPtr value)
   at NAudio.Wave.WaveIn.Callback(IntPtr waveInHandle, WaveMessage message, IntPtr userData, WaveHeader waveHeader, IntPtr reserved) in C:\Libraries\NAudio\naudio-5019c8f1c6fc\NAudio\Wave\WaveInputs\WaveIn.cs:line 132
   at NAudio.Wave.WaveWindow.WndProc(Message& m) in C:\Libraries\NAudio\naudio-5019c8f1c6fc\NAudio\Wave\MmeInterop\WaveWindow.cs:line 64
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

我做了一些谷歌搜索,但找不到任何明显的东西。是否有一个很好的补丁或修复程序,不涉及静默捕获异常?

我正在使用NAudio的自制版本,其中包含一些调整,但不会导致此错误。

0 个答案:

没有答案