void startAudioForwarding(WavBuffer wb) { BeginInvoke((MethodInvoker) delegate { if (m_AudRecorder != null && wb != null && contactsMesh != null) { ZelloPTTLib.IMessage msg = null; List <string> lst = new List <string>(); foreach (string id in lstForwardContactIds) { lst.Add(id); } if (lst.Count > 0) { ZelloPTTLib.IAudioStream strm = m_AudRecorder.MessageOutBeginEx(lst.ToArray(), string.Empty, out msg); if (strm != null && msg != null) { pbForwardAudio.Visible = true; AudioMessageRecording rec = new AudioMessageRecording(wb as MultiClientSample.IReadWav); rec.AllDataWritten += new EventHandler(ForwardAudio_AllDataWritten); lstOutMessages.Add(rec); rec.SetStream(strm); } } } }); }
ZelloPTTLib.IAudioStream ZelloPTTLib.IAudioMessagePlayback.MessageInBegin(ZelloPTTLib.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 ZelloPTTLib.IAudioStream); }