Adobe Edge, как отключить автоматическое воспроизведение по коду?

У меня есть анимация Adobe Edge, которая по умолчанию воспроизводится автоматически.

Есть ли способ отключить или запретить автоматическое воспроизведение по коду JavaScript?

Например, передавая некоторую опцию при загрузке композиции с AdobeEdge.loadComposition() или установив прослушиватель событий, который будет делать это?

PS У меня нет возможности редактировать саму анимацию в Adobe Edge

1 ответ

Решение

Я решил это, добавив compositionReady слушатель. Это событие происходит до автоматического воспроизведения, поэтому я могу влиять на параметры автоматического воспроизведения анимации.

Я положил код ниже сразу после звонка AdobeEdge.loadComposition(), Тайм-аут здесь установлен на 2000 миллисекунд. Решение работает с анимацией, имеющей дочерние символы (используя sym.ci который содержит ссылку на дочерние символы).

AdobeEdge.bootstrapCallback(function(compId){
    AdobeEdge.Symbol.bindElementAction(compId, 'stage', 'document', 'compositionReady', function(sym, e){
        sym.stopAll(-1, false);
        sym.setAutoPlay(false);
        if (sym.ci) {
            for(var i = 0; i < sym.ci.length; ++i) {
                sym.ci[i].setAutoPlay(false);
            }
        }
        var playDelay = setTimeout(function(){
            sym.playAll();
        }, 2000);
    });
});
Другие вопросы по тегам