void OnEndOfStream(AudioStreamImpl obj) { Program.mf.BeginInvoke((System.Windows.Forms.MethodInvoker) delegate { lstActiveStreams.Remove(obj); }); }
PttLib.IAudioStream PttLib.IAudioMessagePlayback.MessageInBegin(PttLib.IMessage pMessage) { AudioStreamImpl rv = new AudioStreamImpl(cntMessages); if (false == String.IsNullOrEmpty(savePath)) { WriteWav ww = new WriteWav(GetSaveFileName(pMessage)); if (ww.Valid) { rv.AddSink(ww); } } if (bForwardAudio) { WavBuffer wb = new WavBuffer(); wb.AudioRcvStarted += dlgt; rv.AddSink(wb); } cntMessages++; lstActiveStreams.Add(rv); rv.OnEndOfStream += new AudioStreamImpl.dlgtFinished(OnEndOfStream); return(rv as PttLib.IAudioStream); }