0
是否可以在獨佔的事件驅動模式下捕捉NAudio的輸入信號? 如果是,有沒有可用的例子?WASAPI事件驅動捕獲naudio
是否可以在獨佔的事件驅動模式下捕捉NAudio的輸入信號? 如果是,有沒有可用的例子?WASAPI事件驅動捕獲naudio
WasapiCapture
類當前不支持事件模式。碰巧,我只是做了一個檢查來支持獨佔模式,這將在NAudio 1.7很快發佈的時候成爲其中的一部分。如果您需要事件驅動模式,那麼您可以只拿一份WasapiCapture
課程的副本,並自己進行修改。
在WasapiCapture的副本中,我進行了以下修改: audioClient.Initialize(AudioClientShareMode.Exclusive,AudioClientStreamFlags.EventCallback,requestedDuration,requestedDuration,this.waveFormat,Guid.Empty); client.Start()在DoRecording後,我得到一個錯誤:HRESULT:0x88890014 >> AUDCLNT_E_EVENTHANDLE_NOT_SET – Pete
在DoRecording我加 VAR eventHandle =新的EventWaitHandle(假,EventResetMode.AutoReset); AudioClient.SetEventHandle(eventHandle.SafeWaitHandle.DangerousGetHandle()); 和循環eventHandle.WaitOne()而不是Sleep()。 現在,它的工作。 – Pete
太好了,很可能很快就會嘗試讓NAudio得到類似的東西。需要確保Initialize中的持續時間和週期性對共享/排它和事件/睡眠的所有四種可能排列仍然正確 –