我需要流式處理或下載並播放iOS中運行的Unity3D中的URL。 音頻來自一個文本到音頻業務,我需要發揮它統一:如何從URL流式傳輸/下載和播放音頻?
http://api.ispeech.org/api/rest?apikey=...&action=convert&voice=eurspanishfemale&text=hola+que+tal
我一直在谷歌上搜索所有的早上沒有找到有效的解決辦法... 有Unity3D文檔中的代碼片段(WWW-audioClip,WWW.GetAudioClip),但不起作用,我已調試過,錯誤表示無法打開文件。
using UnityEngine;
using System.Collections;
public class AudioURLScript : MonoBehaviour {
public string url = "http://api.ispeech.org/api/rest?apikey=...&action=convert&voice=eurspanishfemale&text=hola+que+tal";
public AudioSource source;
void Start() {
WWW www = new WWW("file://"+url);
source = GetComponent<AudioSource>();
source.clip = www.GetAudioClip(false,true);
}
void Update() {
if (!source.isPlaying && source.clip.isReadyToPlay)
source.Play();
}
}
感謝
SOLUTION
這是我工作的解決方案現在。
void Start(){
StartCoroutine(DownloadAndPlay("http://api.ispeech.org/api/rest?apikey=...&action=convert&voice=eurspanishfemale&text=Hola+que+tal"));
}
IEnumerator DownloadAndPlay(string url)
{
WWW www = new WWW(url);
yield return www;
AudioSource audio = GetComponent<AudioSource>();
audio.clip = www.GetAudioClip(false, true,AudioType.MPEG);
audio.Play();
}
對不起,這將iOS上運行的,是的,我對代碼的網址是不是最好的例子。我真正需要的是播放來自文本到音頻服務的聲音,因爲它會由AI產生(讀取來自Feed等新聞的消息) – MaDowen
通常這樣的服務可以讓您創建一個帳戶,然後爲您提供一個令牌和/或密鑰。然後,您將通過REST API與JSON進行通信。該API可讓您請求翻譯並提供一種機制,通過直接鏈接下載所需的音頻文件 - 這就是您在答案中提供給WWW電話的鏈接。 – peterept