我製作了一個Windows窗體應用程序,用於偵聽麥克風並檢測聲音用戶。爲什麼我的活動不會在服務中啓動?
現在我想做同樣的事情,但在一個服務。
我用n音訊與此事件:
myWave = new WaveIn();
...
myWave.DataAvailable += new EventHandler<WaveInEventArgs>(myWave_DataAvailable);
在windows窗體工作正常,但該服務不觸發事件。
有誰知道爲什麼?
另一個問題是
請問我的服務聽到麥克風,即使在沒有登錄的時候?
謝謝!
編輯新的信息和使用WaveInEvent類:
我聲明變量的類
public partial class SoundDetector : ServiceBase {
...
private WaveInEvent myWave;
在構造
public SoundDetector()
{
myWave.DataAvailable += myWave_DataAvailable;
設置事件,並開始recordig在OnStart
protected override void OnStart(string[] args)
{
myWave.StartRecording();
但該事件還是停止射擊...
沒見過n音訊之前,但快速查看源似乎表明它使用窗口消息 - 這不會對因爲服務不會有消息循環運行,所以工作良好。 –
你說的是Windows服務嗎? – giacomelli
是的,Windows服務。 我試圖尋找另一種方式來利用與 wavein處理事件(WaveIn MYWAVE =新WaveIn(WaveCallbackInfo.FunctionCallback())){ } 現在事件觸發三次,但然後停止... –