示例#1
0
        public static void Voice_Receive_Callback(IAsyncResult ar)
        {
            VoiceObject v_obj = (VoiceObject)ar.AsyncState;

            try
            {
                var    bytesRead = v_obj.work_socket.EndReceive(ar);
                string recv_str  = null;
                recv_str = Encoding.UTF8.GetString(recv_bytes, 0, bytesRead);
                if (recv_str.Split('.')[0] != "voiceend")
                {
                    v_obj.wave_provider.AddSamples(voice_buffer, 0, bytesRead);
                    v_obj.recieved_stream.Play();
                    v_obj.work_socket.BeginReceive(voice_buffer, 0, 5242880, SocketFlags.None,
                                                   Voice_Receive_Callback, v_obj);
                }
                else
                {
                    v_obj.chat_Window.end_voice_chat();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("异常信息:", ex.Message);
            }
        }
示例#2
0
文件: api.cs 项目: iLanceS/fastCSharp
 /// <summary>
 /// 分享语音
 /// </summary>
 /// <param name="voiceObject">语音信息</param>
 /// <param name="thumbnail">缩略图</param>
 /// <param name="url">点击链接 URI</param>
 /// <param name="title">标题</param>
 /// <param name="description">描述</param>
 /// <returns>是否发送成功,不等于分享成功</returns>
 public bool ShareVoice(VoiceObject voiceObject, Bitmap thumbnail = null, string url = null, string title = null, string description = null)
 {
     if (thumbnail != null)
     {
         voiceObject.SetThumbImage(thumbnail);
     }
     set(voiceObject, url, title, description);
     return(Share(voiceObject));
 }
示例#3
0
 public static void Voice_Receive(Socket work_socket, WaveOut recv_stream, BufferedWaveProvider provider, Chat_Window chat_Window)
 {
     try
     {
         VoiceObject v_obj = new VoiceObject();
         v_obj.work_socket     = work_socket;
         v_obj.recieved_stream = recv_stream;
         v_obj.wave_provider   = provider;
         v_obj.chat_Window     = chat_Window;
         work_socket.BeginReceive(voice_buffer, 0, 5242880, SocketFlags.None,
                                  Voice_Receive_Callback, v_obj);
     }
     catch (Exception ex)
     {
         Console.WriteLine("异常信息:", ex.Message);
     }
 }