0

マイクからリッスンし、サウンドパトロンを検出する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();

しかし、イベントはまだ発火を停止します...

4

1 に答える 1

0

WaveInEvent代わりにクラスを使用してください

于 2012-10-19T17:21:31.310 に答える