在Unity3d中播放ogg文件说“不支持在此平台上播放'ogg'流媒体”

时间:2016-05-16 00:19:09

标签: c# android unity3d

我正在使用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文件?我以前必须下载吗?

谢谢。

1 个答案:

答案 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中试用。