///public List<ZelloPTTLib.IContact> lstForwardAudio = new List<ZelloPTTLib.IContact>(); String GetSaveFileName(ZelloPTTLib.IMessage pMessage) { StringBuilder sb = new StringBuilder(savePath); sb.Append(@"\msg"); sb.Append((cntMessages).ToString("D4")); ZelloPTTLib.IContact cnt = null; if (pMessage.Incoming) { ZelloPTTLib.IAudioInMessage pAIM = pMessage as ZelloPTTLib.IAudioInMessage; if (pAIM != null) { sb.Append("("); cnt = pAIM.Sender; if (cnt != null) { sb.Append(cnt.Name); } if (pAIM.Author != null) { sb.Append("__"); sb.Append(pAIM.Author.Name); } sb.Append(")"); } } sb.Append(".wav"); return(sb.ToString()); }
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); } } } }); }
private void btnSend_Click(object sender, EventArgs e) { if (m_AudRecorder != null && false == String.IsNullOrEmpty(sWavToSend)) { CReadWavFile wf = new CReadWavFile(sWavToSend); ZelloPTTLib.IContacts cnts = ptt.Contacts; ZelloPTTLib.IMessage msg = null; List <string> lst = new List <string>(); try { foreach (object chk in cbSendAudioFile.CheckedItems) { ContactInfo ci = chk as ContactInfo; if (ci != null) { lst.Add(ci.id); } } } catch (System.Exception) {} if (lst.Count > 0) { ZelloPTTLib.IAudioStream strm = m_AudRecorder.MessageOutBeginEx(lst.ToArray(), string.Empty, out msg); if (strm != null && msg != null) { pbSendProgress.Visible = true; AudioMessageRecording rec = new AudioMessageRecording(wf); rec.AllDataWritten += new EventHandler(SendFile_AllDataWritten); lstOutMessages.Add(rec); rec.SetStream(strm); } } } }
void ptt_MessageOutError(ZelloPTTLib.IMessage pMessage, ZelloPTTLib.IContact pContact) { if (pMessage != null && pContact != null) { Debug.WriteLine("Outgoing message " + pMessage.Id + " to " + pContact.Name + " error"); } }
void ptt_MessageOutEnd(ZelloPTTLib.IMessage pMessage, ZelloPTTLib.IContact pContact) { if (pMessage != null && pContact != null) { ZelloPTTLib.IAudioOutMessage pAudioMessage = (ZelloPTTLib.IAudioOutMessage)pMessage; if (pAudioMessage != null) { Debug.WriteLine("Outgoing message " + pMessage.Id + " to " + pContact.Name + " ends, duration " + pAudioMessage.Duration); } } }
void ptt_MessageInEnd(ZelloPTTLib.IMessage pMsg) { if (pMsg != null) { ZelloPTTLib.IAudioInMessage pMessage = (ZelloPTTLib.IAudioInMessage)pMsg; if (pMessage != null) { ZelloPTTLib.IContact pContact = pMessage.Sender; if (pContact != null) { Debug.WriteLine("Incoming message " + pMsg.Id + " from " + pContact.Name + " ends, duration " + pMessage.Duration); } } } }
void ptt_MessageInBegin(ZelloPTTLib.IMessage pMsg) { if (pMsg != null) { ZelloPTTLib.IAudioInMessage pMessage = (ZelloPTTLib.IAudioInMessage)pMsg; if (pMessage != null) { ZelloPTTLib.IContact pContact = pMessage.Sender; if (pContact != null) { Debug.WriteLine("Incoming message " + pMsg.Id + " from " + pContact.Name + " begins"); } } } }
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); }