我正在使用Unity3d 5.3.4f1,我想从直接网址播放ogg文件。目标平台是Android。
实施例: https://upload.wikimedia.org/wikipedia/commons/6/65/Star_Spangled_Banner_instrumental.ogg
我的代码:
public void PlayAnthem()
{
WWW wwwAnthem = new WWW(AnthemURL);
StartCoroutine (WaitForRequestplay (wwwAnthem));
//This works:
// AudioAnthem.clip = Resources.Load ("Japan") as AudioClip;
// AudioAnthem.Play ();
}
private IEnumerator WaitForRequestplay(WWW www){
yield return www;
AudioAnthem.clip = www.audioClip;
AudioAnthem.Play();
}
我的错误: 不支持在此平台上流式传输'ogg' UnityEngine.WWW:get_audioClip()
如何在我的应用中播放ogg文件?我以前必须下载吗?
谢谢。
答案 0 :(得分:0)
在下载时,您无法流式传输ogg文件。你必须在播放之前完成下载,但我不认为这是问题,因为你有yield return www;
等待下载完成。
试试www.GetAudioClip(true,false,AudioType.OGGVORBIS);
。有时,这似乎解决了这个platform is not supported
错误。
private IEnumerator WaitForRequestplay(WWW www){
yield return www;
AudioAnthem.clip = www.GetAudioClip(true,false,AudioType.OGGVORBIS);
AudioAnthem.Play();
}
还要确保您有权访问您发布的ogg
文件。要验证这不是权限问题,请在本地服务器中托管一个简单的ogg
文件,然后尝试访问它。如果它在编辑器中不起作用,请在Android中试用。