public async void SendMessageVideo(string to, byte[] videoData, WhatsAPI.UniversalApps.Libs.Constants.Enums.VideoType vidtype) { FMessage msg = await this.getFmessageVideo(to, videoData, vidtype); if (msg != null) { this.SendMessage(msg); } }
protected async Task <FMessage> getFmessageVideo(string to, byte[] videoData, WhatsAPI.UniversalApps.Libs.Constants.Enums.VideoType vidtype) { to = Helpers.GetJID(to); string type = string.Empty; string extension = string.Empty; switch (vidtype) { case WhatsAPI.UniversalApps.Libs.Constants.Enums.VideoType.MOV: type = "video/quicktime"; extension = "mov"; break; case WhatsAPI.UniversalApps.Libs.Constants.Enums.VideoType.AVI: type = "video/x-msvideo"; extension = "avi"; break; default: type = "video/mp4"; extension = "mp4"; break; } //create hash string filehash = string.Empty; SHA256 sha = SHA256.Create(); byte[] raw = sha.ComputeHash(videoData); filehash = Convert.ToBase64String(raw); //request upload UploadResponse response = await this.UploadFile(filehash, "video", videoData.Length, videoData, to, type, extension); if (response != null && !String.IsNullOrEmpty(response.url)) { //send message FMessage msg = new FMessage(to, true) { media_wa_type = FMessage.Type.Video, media_mime_type = response.mimetype, media_name = response.url.Split('/').Last(), media_size = response.size, media_url = response.url, media_duration_seconds = response.duration, binary_data = await this.CreateVideoThumbnail(videoData, "thumb-" + response.url.Split('/').Last().Replace(getExtension(response.url.Split('/').Last()), "jpg")) }; return(msg); } return(null); }
public async void SendMessageBroadcastVideo(string[] recipients, byte[] VideoData, WhatsAPI.UniversalApps.Libs.Constants.Enums.VideoType vidtype) { string to; List <string> foo = new List <string>(); foreach (string s in recipients) { foo.Add(Helpers.GetJID(s)); } to = string.Join(",", foo.ToArray()); FMessage msg = await this.getFmessageVideo(to, VideoData, vidtype); if (msg != null) { this.SendMessage(msg); } }