public IEnumerator TestStream() { // Current limitation: // There is no way to check whether the loaded audio is truly a streaming audio or not. var request = new AudioRequest(TestConstants.RemoteMp3Url, true); var listener = new TaskListener <IWebRequest>(); request.Request(listener); while (!request.IsFinished) { Debug.Log("Progress: " + listener.Progress); yield return(null); } Assert.IsNotNull(request.Response); var clip = request.Response.AudioData; Assert.IsNotNull(clip); Debug.Log($"Content: {request.Response.ContentLength}, response: {request.Response.BytesLoaded}"); Assert.LessOrEqual((double)request.Response.BytesLoaded, (double)request.Response.ContentLength); }
private IEnumerator LoadAudio(Action <IAudio> onFinished) { new GameObject("Listener").AddComponent <AudioListener>(); Assert.IsNotNull(onFinished); var request = new AudioRequest("file://" + Path.Combine(TestConstants.TestAssetPath, "Audio/effect.mp3")); request.OnOutput += (audio) => onFinished(new UnityAudio(audio)); request.Request(); while (!request.IsFinished) { yield return(null); } Assert.IsNotNull(request.Output); AudioClip clip = request.Output as AudioClip; Assert.IsNotNull(clip); Assert.Greater(clip.length, 0f); }
public IEnumerator TestNonStream() { var request = new AudioRequest(TestConstants.RemoteMp3Url, false); var listener = new TaskListener <IWebRequest>(); request.Request(listener); while (!request.IsFinished) { Debug.Log("Progress: " + listener.Progress); yield return(null); } Assert.IsNotNull(request.Response); var clip = request.Response.AudioData; Assert.IsNotNull(clip); Debug.Log($"Content: {request.Response.ContentLength}, response: {request.Response.BytesLoaded}"); Assert.AreEqual(request.Response.ContentLength, request.Response.BytesLoaded); }