【发布时间】:2015-12-02 12:35:46
【问题描述】:
我需要流式传输或下载并播放从 Unity3D 中的 URL 获取的音频,在 iOS 上运行。 音频来自文本到音频服务,我需要在 Unity 上播放:
http://api.ispeech.org/api/rest?apikey=...&action=convert&voice=eurspanishfemale&text=hola+que+tal
我整个早上都在谷歌上搜索,但没有找到有效的解决方案...... Unity3D文档中有一段代码sn-p(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();
}
}
谢谢
解决方案
这是我现在的工作解决方案。
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();
}
【问题讨论】: