void PlayTTSAudio(NluResponse nluResponse) { bool doStream = true; int channels = 1; float[] floatArray = ConvertByteToFloat16(nluResponse.tts.audioContent.data); string clipName = "HttpResponseClip"; AudioClip myClip = AudioClip.Create( clipName, floatArray.Length, channels, samplerate, !doStream); myClip.SetData(floatArray, 0); // AudioSource aud = GetComponent<AudioSource>(); aud.clip = myClip; aud.Play(); }
IEnumerator GetAndSayNluResponse(string text) { WWWForm form = new WWWForm(); form.AddField("query", text); using (UnityWebRequest www = UnityWebRequest.Post(this.nluEndpoint, form)) { yield return(www.SendWebRequest()); if (www.isNetworkError || www.isHttpError) { Debug.Log(www.error); } else { NluResponse nluResponse = JsonUtility.FromJson <NluResponse>(www.downloadHandler.text); nluMessage = nluResponse.response; Debug.Log("NLU response: " + nluMessage); PlayTTSAudio(nluResponse); } } }