Ejemplo n.º 1
0
        public IHttpActionResult SendImg(SendMediaModel model)
        {
            ApiServerMsg result = new ApiServerMsg();

            try
            {
                if (XzyWebSocket._dicSockets.ContainsKey(model.uuid))
                {
                    Image img = ConvertUtils.GetImageFromBase64(model.base64);
                    var   res = XzyWebSocket._dicSockets[model.uuid].weChatThread.Wx_SendImg(model.wxid, img);
                    result.Success = true;
                    result.Context = res;
                    return(Ok(result));
                }
                else
                {
                    result.Success = false;
                    result.Context = "不存在该websocket连接";
                    return(Ok(result));
                }
            }
            catch (Exception e)
            {
                result.Success    = false;
                result.ErrContext = e.Message;
                return(Ok(result));
            }
        }
Ejemplo n.º 2
0
        public IHttpActionResult SendImg(SendMediaModel model)
        {
            ApiServerMsg apiServerMsg = new ApiServerMsg();

            try
            {
                if (XzyWebSocket._dicSockets.ContainsKey(model.uuid))
                {
                    Image  imageFromBase = ConvertUtils.GetImageFromBase64(model.base64);
                    string context       = XzyWebSocket._dicSockets[model.uuid].weChatThread.Wx_SendImg(model.wxid, imageFromBase);
                    apiServerMsg.Success = true;
                    apiServerMsg.Context = context;
                    return(Ok(apiServerMsg));
                }
                apiServerMsg.Success = false;
                apiServerMsg.Context = "不存在该websocket连接";
                return(Ok(apiServerMsg));
            }
            catch (Exception ex)
            {
                apiServerMsg.Success    = false;
                apiServerMsg.ErrContext = ex.Message;
                return(Ok(apiServerMsg));
            }
        }
Ejemplo n.º 3
0
        public IHttpActionResult SendVoiceSilk(SendMediaModel model)
        {
            ApiServerMsg apiServerMsg = new ApiServerMsg();

            try
            {
                if (XzyWebSocket._dicSockets.ContainsKey(model.uuid))
                {
                    string text = AppDomain.CurrentDomain.BaseDirectory + "files";
                    if (!Directory.Exists(text))
                    {
                        Directory.CreateDirectory(text);
                    }
                    byte[]     array      = Convert.FromBase64String(model.base64.Replace("data:application/octet-stream;base64,", ""));
                    string     text2      = text + "\\" + Guid.NewGuid() + ".silk";
                    FileStream fileStream = File.Create(text2, array.Length);
                    fileStream.Write(array, 0, array.Length);
                    fileStream.Flush();
                    fileStream.Close();
                    string context = XzyWebSocket._dicSockets[model.uuid].weChatThread.Wx_SendVoice(model.wxid, text2, 1);
                    apiServerMsg.Success = true;
                    apiServerMsg.Context = context;
                    return(Ok(apiServerMsg));
                }
                apiServerMsg.Success = false;
                apiServerMsg.Context = "不存在该websocket连接";
                return(Ok(apiServerMsg));
            }
            catch (Exception ex)
            {
                apiServerMsg.Success    = false;
                apiServerMsg.ErrContext = ex.Message;
                return(Ok(apiServerMsg));
            }
        }
Ejemplo n.º 4
0
        public IHttpActionResult SendVoice(SendMediaModel model)
        {
            ApiServerMsg result = new ApiServerMsg();

            try
            {
                if (XzyWebSocket._dicSockets.ContainsKey(model.uuid))
                {
                    string path = System.AppDomain.CurrentDomain.BaseDirectory + "files";
                    if (!Directory.Exists(path))//如果不存在则创建
                    {
                        Directory.CreateDirectory(path);
                    }
                    byte[] audioByteArray = Convert.FromBase64String(model.base64.Replace("data:audio/mp3;base64,", ""));

                    //保存mp3
                    string filename = path + "\\" + Guid.NewGuid() + ".mp3";
                    string silkname = filename.Replace(".mp3", ".silk");
                    var    mp3File  = File.Create(filename, audioByteArray.Length);
                    mp3File.Write(audioByteArray, 0, audioByteArray.Length);
                    mp3File.Flush();
                    mp3File.Close();
                    //转换silk
                    bool isCovert = ffmpegUtils.GetInstance().ConvertMp3ToAmr(filename, silkname);
                    if (isCovert)
                    {
                        while (MyUtils.IsFileInUse(silkname))
                        {
                            Thread.Sleep(100);
                        }
                    }

                    var res = XzyWebSocket._dicSockets[model.uuid].weChatThread.Wx_SendVoice(model.wxid, silkname, 1);
                    result.Success = true;
                    result.Context = res;
                    return(Ok(result));
                }
                else
                {
                    result.Success = false;
                    result.Context = "不存在该websocket连接";
                    return(Ok(result));
                }
            }
            catch (Exception e)
            {
                result.Success    = false;
                result.ErrContext = e.Message;
                return(Ok(result));
            }
        }
Ejemplo n.º 5
0
        public IHttpActionResult SendVoice(SendMediaModel model)
        {
            ApiServerMsg apiServerMsg = new ApiServerMsg();

            try
            {
                if (XzyWebSocket._dicSockets.ContainsKey(model.uuid))
                {
                    string text = AppDomain.CurrentDomain.BaseDirectory + "files";
                    if (!Directory.Exists(text))
                    {
                        Directory.CreateDirectory(text);
                    }
                    byte[]     array      = Convert.FromBase64String(model.base64.Replace("data:audio/mp3;base64,", ""));
                    string     text2      = text + "\\" + Guid.NewGuid() + ".mp3";
                    string     text3      = text2.Replace(".mp3", ".silk");
                    FileStream fileStream = File.Create(text2, array.Length);
                    fileStream.Write(array, 0, array.Length);
                    fileStream.Flush();
                    fileStream.Close();
                    if (ffmpegUtils.GetInstance().ConvertMp3ToAmr(text2, text3))
                    {
                        while (MyUtils.IsFileInUse(text3))
                        {
                            Thread.Sleep(100);
                        }
                    }
                    string context = XzyWebSocket._dicSockets[model.uuid].weChatThread.Wx_SendVoice(model.wxid, text3, 1);
                    apiServerMsg.Success = true;
                    apiServerMsg.Context = context;
                    return(Ok(apiServerMsg));
                }
                apiServerMsg.Success = false;
                apiServerMsg.Context = "不存在该websocket连接";
                return(Ok(apiServerMsg));
            }
            catch (Exception ex)
            {
                apiServerMsg.Success    = false;
                apiServerMsg.ErrContext = ex.Message;
                return(Ok(apiServerMsg));
            }
        }
Ejemplo n.º 6
0
        public IHttpActionResult SendVoiceSilk(SendMediaModel model)
        {
            ApiServerMsg result = new ApiServerMsg();

            try
            {
                if (XzyWebSocket._dicSockets.ContainsKey(model.uuid))
                {
                    string path = System.AppDomain.CurrentDomain.BaseDirectory + "files";
                    if (!Directory.Exists(path))//如果不存在则创建
                    {
                        Directory.CreateDirectory(path);
                    }
                    byte[] audioByteArray = Convert.FromBase64String(model.base64.Replace("data:application/octet-stream;base64,", ""));

                    //保存mp3
                    string filename = path + "\\" + Guid.NewGuid() + ".silk";
                    var    mp3File  = File.Create(filename, audioByteArray.Length);
                    mp3File.Write(audioByteArray, 0, audioByteArray.Length);
                    mp3File.Flush();
                    mp3File.Close();

                    var res = XzyWebSocket._dicSockets[model.uuid].weChatThread.Wx_SendVoice(model.wxid, filename, 1);
                    result.Success = true;
                    result.Context = res;
                    return(Ok(result));
                }
                else
                {
                    result.Success = false;
                    result.Context = "不存在该websocket连接";
                    return(Ok(result));
                }
            }
            catch (Exception e)
            {
                result.Success    = false;
                result.ErrContext = e.Message;
                return(Ok(result));
            }
        }