2
\$\begingroup\$

I use www.GetAudioClip() to get a song and play it when my Android mobile game starts.

My issue is that it takes a 3-second delay to play the song.

My idea is to add some loading screen before starting the game, and the game starts after www.GetAudioClip() finishes getting the song and I begin to play it. But I don't know how to control the loading screen so it disappears after the right delay.

\$\endgroup\$
  • 2
    \$\begingroup\$ Your suggestion sounds great, why don't you add a loading screen? What exactly do you need help for? \$\endgroup\$ – TomTsagk Sep 7 '18 at 8:53
  • 1
    \$\begingroup\$ @TomTsagk good sir i don't no how to add loading screen that stop after www.GetAudioClip() complete \$\endgroup\$ – 1323254365 Sep 7 '18 at 9:51
2
\$\begingroup\$

This can be done with a coroutine you start by calling StartCoroutine(LoadSongWithLoadingScreen(songURL));

IEnumerator LoadSongWithLoadingScreen(string url) {

    // Show your loading screen.
    loadingVisuals.SetActive(true);

    // Start the download.
    var request = new WWW(url);

    // Wait for the download to finish,
    // letting the game continue running
    // and animating in the meantime.
    yield return request;

    // TODO: check for & handle network errors.

    // Hide loading screen.
    loadingVisuals.SetActive(false);

    // Use your song.
    song = www.GetAudioClip();
    PlaySong(song);
}
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.