Unity流WWW问题

时间:2016-01-06 08:04:34

标签: c# unity3d unity-components

我使用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流(如流媒体已完成,但有一个未知的错误,无法播放音频)。

我知道这是理解问题的头脑,谢天谢地。

1 个答案:

答案 0 :(得分:0)

好吧,我们已经完成了Unity3d Pro版本,问题已经解决,没有代码错误或更改,简单有效:)。

因此,如果有人解决此类问题,请同意Unity3d支持。