我使用WWW Unity类从S3 Bucket获取歌曲。
问题在于,当我加载一首歌时,流媒体效果很好,我可以获得足够大的缓冲区,并且可以使用AudioSource Clip轻松播放歌曲。
当我尝试调用twich函数时,问题就出现了,女巫实际意味着,我需要同时下载两首歌曲。让我注意到,如果我尝试保留第二个函数,仍然会出现错误(错误是"红色"错误,但没有任何关于错误的数据)。
功能:
private IEnumerator startSongStreaming(int playerIndex,User user)
{
string url = user.getCurrentGamePerformacePath ();
WWW www = new WWW (url);
AudioSource audioSource = GameObject.FindGameObjectsWithTag ("PlayerResultsAudio")[playerIndex].GetComponent<AudioSource>();
AudioClip myAudioClip = audioSource.clip;
Debug.Log (playerIndex + " :" + www.progress);
while (www.progress < .1f) {
Debug.Log ("Streaming WWW PLAYER INDEX: " + playerIndex + " " + www.progress);
yield return null;
}
myAudioClip = www.audioClip;
Debug.Log (playerIndex + " CHECKTHIS:" + www.progress);
while (!(myAudioClip.isReadyToPlay)) {
Debug.Log ("IS READY TO PLAY PLAYER INDEX: " + playerIndex + " " + www.progress);
yield return null;
}
//Debug.Log ("TESTME: " + myAudioClip.isReadyToPlay);
audioSource.clip = www.GetAudioClip(false, true, AudioType.WAV);
Button listen = GameObject.FindGameObjectsWithTag ("PlayerResultsListenBtn") [playerIndex].GetComponent<Button> ();
listen.interactable = true;
}
我对预制件和获取GameObjects没有任何问题,它可以很好地使用调用此函数的函数。
无论如何,debug.logs为其中一个索引返回一个良好的流媒体,并将流媒体设置为另一个(就像它完成了,但它从未真正开始)。 所以我得到0和流(对象将工作和播放) 和1和1流(如流媒体已完成,但有一个未知的错误,无法播放音频)。
我知道这是理解问题的头脑,谢天谢地。
答案 0 :(得分:0)
好吧,我们已经完成了Unity3d Pro版本,问题已经解决,没有代码错误或更改,简单有效:)。
因此,如果有人解决此类问题,请同意Unity3d支持。