2010-09-04 6 views
2

J'essaie d'avoir JavaScript pour appeler une fonction de mon code ActionScript.Besoin d'aide avec Flash, ActionScript et JavaScript

ActionScript:

import flash.external.ExternalInterface; 

ExternalInterface.addCallback("playSong", playSong); 

function playSong():void { 
    var _sound:Sound = new Sound(); 
    var _request = new URLRequest("music.mp3"); 

    _sound.load(_request); 
    _sound.play(); 
} 

JavaScript:

swfobject.embedSWF('http://localhost/music.swf', 'musicplayercontrol1', '1', '1', '9', null, null, { allowScriptAccess: 'always', wmode: 'transparent' }, { }, function(e) { 
    document.getElementById('musicplayercontrol1').playSong(); 
}); 

Je continue à obtenir une fonction non définie de Firebug. Quelqu'un sait ce que je fais mal? J'ai essayé de faire jouer la chanson dès que le swf s'est chargé, et ça fonctionne à coup sûr.

Répondre

0

Si vous appelez la fonction directement lors de la première insertion du swf, le problème pourrait être que le swf n'est pas encore chargé et prêt. La fonction sera indéfinie jusqu'à ce que votre code ActionScript, y compris ExternalInterface.addCallback ("playSong", playSong), soit exécuté. Donc d'abord le swf doit être entièrement chargé et le code ActionScript exécuté, avant que vous puissiez appeler playSong() à partir de JavaScript.

+0

Merci, cela a résolu le problème :) – Samer