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);
});
});