我需要流式处理或下载并播放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