繁体   English   中英

为什么我的事件无法在服务中触发?

[英]Why my events don't fire in a service?

我制作了一个Windows窗体应用程序,该应用程序从麦克风监听并检测声音顾客。

现在我想做同样的事情,但是要在服务中。

我使用Naudio和此事件:

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;

然后在OnStart中启动recordig

protected override void OnStart(string[] args)
{
    myWave.StartRecording();

但事件仍然停止触发...

改用WaveInEvent

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM