2
我有一些AudioSink
,它被分配到一些CaptureSource
。使用Silverlight捕獲音頻
CaptureSource captureSource = new CaptureSource() {
VideoCaptureDevice = null,
AudioCaptureDevice = CaptureDeviceConfiguration.GetDefaultAudioCaptureDevice()
};
SampleAudioSink audioSink = new SampleAudioSink() {
CaptureSource = captureSource
};
captureSource.Start();
AudioSink
執行簡單地記錄被調用函數,看它是否正常工作。但是,在37個樣本之後,將停止調用OnSamples
方法。
- OnCaptureStarted
- OnFormatChange
- OnSamples(1)
- OnSamples(2)
- OnSamples(3)
- [...]
- OnSamples(35)
- OnSamples(36)
- OnSamples(37)
OnCaptureStopped
從不叫; CaptureSource
應該不斷地調用這個函數。 CaptureSource
也不會調用CaptureFailed
事件。
什麼會產生這種奇怪的行爲,我可以採取什麼措施來解決它?
我已上載其產生問題Pastebin
在第36次和第37次呼叫中,「CaptureSource」的「狀態」是什麼?它改變了嗎? – 2011-04-13 08:51:45
'State' =='Started'爲所有呼叫。此外,還有一個事件處理程序附加到'CaptureFailed',它永遠不會被調用。 – Etan 2011-04-13 09:33:56
我讀到了,我只是想確保我們沒有處理這個阻止它提高事件的錯誤:) – 2011-04-13 09:37:45