public async Task SendMessageAudio(string to, byte[] audioData, WhatsAPI.UniversalApps.Libs.Constants.Enums.AudioType audtype) { FMessage msg = await this.getFmessageAudio(to, audioData, audtype); if (msg != null) { this.SendMessage(msg); } }
protected async Task <FMessage> getFmessageAudio(string to, byte[] audioData, WhatsAPI.UniversalApps.Libs.Constants.Enums.AudioType audtype) { to = Helpers.GetJID(to); string type = string.Empty; string extension = string.Empty; switch (audtype) { case WhatsAPI.UniversalApps.Libs.Constants.Enums.AudioType.WAV: type = "audio/wav"; extension = "wav"; break; case WhatsAPI.UniversalApps.Libs.Constants.Enums.AudioType.OGG: type = "audio/ogg"; extension = "ogg"; break; default: type = "audio/mpeg"; extension = "mp3"; break; } //create hash string filehash = string.Empty; using (HashAlgorithm sha = HashAlgorithm.Create("sha256")) { byte[] raw = sha.ComputeHash(audioData); filehash = Convert.ToBase64String(raw); } //request upload UploadResponse response = await this.UploadFile(filehash, "audio", audioData.Length, audioData, to, type, extension); if (response != null && !String.IsNullOrEmpty(response.url)) { //send message FMessage msg = new FMessage(to, true) { media_wa_type = FMessage.Type.Audio, media_mime_type = response.mimetype, media_name = response.url.Split('/').Last(), media_size = response.size, media_url = response.url, media_duration_seconds = response.duration }; return(msg); } return(null); }
public async void SendMessageBroadcastAudio(string[] recipients, byte[] AudioData, WhatsAPI.UniversalApps.Libs.Constants.Enums.AudioType audtype) { 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.getFmessageAudio(to, AudioData, audtype); if (msg != null) { this.SendMessage(msg); } }