Ejemplo n.º 1
0
        ///public List<PttLib.IContact> lstForwardAudio = new List<PttLib.IContact>();

        String GetSaveFileName(PttLib.IMessage pMessage)
        {
            StringBuilder sb = new StringBuilder(savePath);

            sb.Append(@"\msg");
            sb.Append((cntMessages).ToString("D4"));
            PttLib.IContact cnt = null;
            if (pMessage.Incoming)
            {
                PttLib.IAudioInMessage pAIM = pMessage as PttLib.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());
        }
Ejemplo n.º 2
0
 private void btnSend_Click(object sender, EventArgs e)
 {
     if (m_AudRecorder != null && false == String.IsNullOrEmpty(sWavToSend))
     {
         CReadWavFile wf = new CReadWavFile(sWavToSend);
         if (wf.ChannelCount != 1 || wf.BitsPerSecond != 16)
         {
             MessageBox.Show("Incompatible WAV file format", "Unable to send", MessageBoxButtons.OK, MessageBoxIcon.Hand);
             return;
         }
         PttLib.IContacts cnts = axMesh.Contacts;
         PttLib.IMessage  msg  = null;
         List <string>    lst  = new List <string>();
         foreach (object chk in cbSendAudioFile.CheckedItems)
         {
             ContactInfo ci = chk as ContactInfo;
             if (ci != null)
             {
                 lst.Add(ci.id);
             }
         }
         if (lst.Count > 0)
         {
             PttLib.IAudioStream   strm = m_AudRecorder.MessageOutBeginEx(lst.ToArray(), string.Empty, out msg);
             AudioMessageRecording rec  = new AudioMessageRecording(wf);
             rec.AllDataWritten += new EventHandler(Recording_AllDataWritten);
             lstOutMessages.Add(rec);
             rec.SetStream(strm);
         }
     }
 }
Ejemplo n.º 3
0
 void startAudioForwarding(WavBuffer wb)
 {
     BeginInvoke((MethodInvoker) delegate
     {
         if (m_AudRecorder != null && wb != null && contactsMesh != null)
         {
             PttLib.IMessage msg = null;
             List <string> lst   = new List <string>();
             foreach (string id in lstForwardContactIds)
             {
                 lst.Add(id);
             }
             if (lst.Count > 0)
             {
                 PttLib.IAudioStream strm  = m_AudRecorder.MessageOutBeginEx(lst.ToArray(), string.Empty, out msg);
                 AudioMessageRecording rec = new AudioMessageRecording(wb as SoundSample.IReadWav);
                 rec.AllDataWritten       += new EventHandler(Recording_AllDataWritten);
                 lstOutMessages.Add(rec);
                 rec.SetStream(strm);
             }
         }
     });
 }
Ejemplo n.º 4
0
        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);
        }