Quantcast
Channel: Answers by "Yanger_xy"
Viewing all articles
Browse latest Browse all 57

Answer by Yanger_xy

$
0
0
i came across the same problem, and after nearly 2 hours, i finally solved it. The reason is that you wanna to play the audio before its completely downloaded, you should call audio.Play function like this: string bkgrdMusicPath = Application.dataPath + "/Rockburst_YC/Resources/bkgrdMusic.ogg"; _download = new WWW(bkgrdMusicPath); while (_download.audioClip.isReadyToPlay == false)//NOTE:the while loop is very important! { yield return _download; } _bkgrdMusic = _download.GetAudioClip(false, false); _bkgrdMusic.name = "downloadMusic"; if (_bkgrdMusic == null) { _bBkgrdMusicOn = false; UnityEngine.Debug.Log("无法找到背景音乐, 请检查Rockburst_YC/Resources/文件夹下是否有bkgrdMusic.ogg音频文件!"); } else { audio.clip = _bkgrdMusic; audio.enabled = true; audio.loop = true; print(_bkgrdMusic.isReadyToPlay.ToString()); if (_bkgrdMusic.isReadyToPlay) { audio.Play(); } } ---------------------- And a wrong version like this: string bkgrdMusicPath = Application.dataPath + "/Rockburst_YC/Resources/bkgrdMusic.ogg"; _download = new WWW(bkgrdMusicPath); yield return _download;//No while loop at all! the audio may not be completely downloaded, that's the reason! _bkgrdMusic = _download.GetAudioClip(false, false); _bkgrdMusic.name = "downloadMusic"; if (_bkgrdMusic == null) { _bBkgrdMusicOn = false; UnityEngine.Debug.Log("无法找到背景音乐, 请检查Rockburst_YC/Resources/文件夹下是否有bkgrdMusic.ogg音频文件!"); } else { audio.clip = _bkgrdMusic; audio.enabled = true; audio.loop = true; print(_bkgrdMusic.isReadyToPlay.ToString()); if (_bkgrdMusic.isReadyToPlay) { audio.Play(); } }

Viewing all articles
Browse latest Browse all 57

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>