Wait for sound to load or preload before continuing action - SOLVED?

  • I have several audio-narrated tours of my pano. When the user selects one, I would like to first load the audio file, and then begin the series of LookTo() actions, so that the movements and audio are synced.

    I am looking for a command to wait for the audio to load before continuing (similar to the wait(load); for the panorama). Ideally I would display a message that says "audio loading..." while this loop is running.

    I've tried a few set of solutions without success. seeksound() seems to be unreliable for some reason. preloadsound() doesn't wait for load before continuing.

    Right now, I simply preload all of the sounds when the website first loads, which works, but it's a heavy delay of several mb right at the beginning:

    https://1871.Chicago00.org (the audio tours are under 'STORIES' in the left menu)

    Any suggestions?

    Much thanks.

    --------------------------------------UPDATE

    I have an answer to my own question. Though I'm not sure it's a very efficient way to do it.

    This seems to work:


    createsound(mySound, audioFile);
    playsound(mySound);

    set(layer[soundLoadingText_text].visible, true);

    txtadd(layer[soundLoadingText_text].html, 'Loading sound', '...');

    set(soundDuration, get(sound[mySound].duration));
    asyncloop(soundDuration LE 0,
    wait(0.25);
    set(soundDuration, get(sound[mySound].duration));,

    set(layer[soundLoadingText_text].visible, false);
    startPlayingMyLooktoSequence();
    );

    Einmal editiert, zuletzt von garhodes (9. August 2021 um 05:21)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!