Hi all,
I am trying to start playing an AudioClip before it has been completely download as hinted at in the documentation for [DownloadHandlerAudioClip.streamAudio][1]. I have written this sample code to illustrate the use I would expect to work:
private IEnumerator StartAudioStream()
{
// Prepare stream
string url = "www.brainybetty.com/FacebookFans/Feb112010/ChillingMusic.wav";
DownloadHandlerAudioClip downloadHandler = new DownloadHandlerAudioClip(string.Empty, AudioType.WAV);
downloadHandler.streamAudio = true;
UnityWebRequest request = new UnityWebRequest(url, "GET", downloadHandler, null);
// Start stream
UnityWebRequestAsyncOperation token = request.SendWebRequest();
AudioClip audioClip = null;
while (audioClip == null) // Ensure audio header completed
{
try
{
audioClip = DownloadHandlerAudioClip.GetContent(request);
}
catch (Exception) { }
Debug.LogFormat("Waiting for AudioClip: bytes={0}", request.downloadedBytes); // The complete file is 4834942 bytes
yield return 1f;
}
// Play AudioClip
source.clip = audioClip;
source.Play();
yield return 0;
}
Thank you in advance for your time.
[1]: https://docs.unity3d.com/ScriptReference/Networking.DownloadHandlerAudioClip-streamAudio.html
↧