2016-05-16 83 views
0

我使用的是Unity3d 5.3.4f1,我想從直接url中播放ogg文件。目標平臺是Android。在Unity3d中播放ogg文件說:「不支持在此平臺上的'ogg'流式傳輸」

例子: 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(); 

} 

我的錯誤:在這個平臺上 '奧格' 的 流不支持 UnityEngine.WWW:get_audioClip()

如何我可以在我的應用程序中播放ogg文件嗎?我必須先下載它嗎?

謝謝。

+0

如果你想回復我,你在答案評論中做的不是在問題中。 – Programmer

回答

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中嘗試。

+0

我試過了,我收到了同樣的錯誤:不支持在此平臺上的'ogg'流式傳輸UnityEngine.WWW:GetAudioClip(布爾,布爾,音頻類型) – freseco

+0

@freseco您在Android上試過這個嗎? – Programmer

+0

是的,我在手機Android和模擬器上試過這個。 – freseco