O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Plugin que desativa a BGM com a janela inativa

Iniciado por Kazzter, 18/05/2021 às 09:26

18/05/2021 às 09:26 Última edição: 18/05/2021 às 16:11 por Kerazzk
Existe?

        

Disserte. Você quer um plugin que, com um comando, desative a BGM atual? Ou que desative assim que determinada janela em particular seja aberta podendo ou não retomar a música do mesmo ponto depois?

18/05/2021 às 10:24 #2 Última edição: 18/05/2021 às 10:38 por Gabriel
Imagino que isso deve servir:
(() => {

    let onHoldAudio = {
        bgm: null,
        bgs: null
    };

    function onFocus() {
        if (onHoldAudio.bgm) AudioManager.replayBgm(onHoldAudio.bgm);
        if (onHoldAudio.bgs) AudioManager.replayBgs(onHoldAudio.bgs);
    }

    function onBlur() {
        onHoldAudio.bgm = AudioManager.saveBgm();
        onHoldAudio.bgs = AudioManager.saveBgs();
        AudioManager.stopAll();
    }

    window.addEventListener('focus', onFocus);
    window.addEventListener('blur', onBlur);

})();


Citação de: Corvo online 18/05/2021 às 09:40
Disserte. Você quer um plugin que, com um comando, desative a BGM atual? Ou que desative assim que determinada janela em particular seja aberta podendo ou não retomar a música do mesmo ponto depois?

Que quando o jogador clicasse fora da janela do jogo a música parasse automaticamente (atualmente ela continua tocando) e quando você voltasse para a janela do jogo ela continuasse de onde parou.

Citação de: Gabriel online 18/05/2021 às 10:24
Imagino que isso deve servir:
(() => {

    let onHoldAudio = {
        bgm: null,
        bgs: null
    };

    function onFocus() {
        if (onHoldAudio.bgm) AudioManager.replayBgm(onHoldAudio.bgm);
        if (onHoldAudio.bgs) AudioManager.replayBgs(onHoldAudio.bgs);
    }

    function onBlur() {
        onHoldAudio.bgm = AudioManager.saveBgm();
        onHoldAudio.bgs = AudioManager.saveBgs();
        AudioManager.stopAll();
    }

    window.addEventListener('focus', onFocus);
    window.addEventListener('blur', onBlur);

})();


Isso, perfeito, muito obrigado  :XD: