Jquery flash外部接口

jquery flash externalinterface

本文关键字:接口 外部 flash Jquery      更新时间:2023-09-26

我现在很绝望。

我正在尝试像许多其他人在这里得到外部接口的东西与我的页面工作。无论我做什么或如何以正确的方式更改代码,我总是从firefox或chrome获得'没有方法'报告!

我试图通过jQuery在HTML中通过'play'链接触发Flash中的play-function。我不知道哪里出了问题!

AS3.0在Flash CS6(播放声音文件-在Flash内没有问题,播放良好):

import flash.external.ExternalInterface;
ExternalInterface.addCallback("playMusicJS", playMusic);
function playMusic(evt:MouseEvent):void {
  soundChannel.stop();
  soundChannel = sound.play();
  soundTimer.start(); // volume levels and time
  INSTPlayPause.gotoAndStop(2);
  soundChannel.addEventListener(Event.SOUND_COMPLETE, soundComplete);
  INSTPlayPause.INSTPauseBTN.addEventListener(MouseEvent.CLICK, pauseMusic);
}
Javascript (jQuery):

$(document).ready(function() {
  $('#play').click(function() {
    // var flash = document.getElementById("ASPlayer"); // tried as well - no luck
    var flash = $('#ASPlayer').get(0)
    flash.playMusicJS();
    alert("TEST");
  });
});
HTML:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="350" height="30"     id="ASPlayer" title="Player">
  <param name="movie" value="../_flash/TEST -ExternalInterface-.swf">
  <param name="quality" value="high">
  <param name="wmode" value="opaque">
  <param name="swfversion" value="11.0.0.0">
  <param name="expressinstall" value="../_flash/expressInstall.swf">
  <param name="allowScriptAccess" value="always" />
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="../_flash/TEST -ExternalInterface-.swf" width="350" height="30" id="ASPlayer" title="Player">
    <!--<![endif]-->
    <param name="quality" value="high">
    <param name="wmode" value="opaque">
    <param name="swfversion" value="11.0.0.0">
    <param name="expressinstall" value="../_flash/expressInstall.swf">
    <param name="allowScriptAccess" value="always" />
    <!-- -->
    <embed src="../_flash/TEST -ExternalInterface-.swf" width="350" height="30" name="ASPlayer" quality="high" wmode="opaque" >
    <!-- -->
    <div>
      <p>Content on this page requires a newer version of Adobe Flash Player.</p>
      <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
    </div>
    <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>
<p><a href="#" id="play">play</a></p>
</body>
<script type="text/javascript" src="TEST.js"></script>
</html>

我认为这可能是一个DOM加载顺序问题,我尝试了很多组合,其中顺序调用函数或在文档中放置文件的地方,但也没有运气!

我检查了其他用户关于这个问题的大多数条目,并尝试了它们,但仍然不起作用!我感谢任何想法或提示:)!

来自德国柏林最美好的祝愿!
  1. 确保您的脚本被拉入页面,一种检查方法是使用Chrome Debugger/FireFox Firebug中的'sources'选项卡并搜索该文件。

  2. 请确保在包含jQuery之后包含了脚本,因为它肯定依赖于jQuery。

  3. 确保您只包含了一个jQuery库。包含多个版本可能会导致问题。

  4. 如果有一些其他库覆盖$,所以你的代码不工作,因为$不再是jQuery的别名了。您可以使用jQuery.noConflict()来避免与使用相同变量$的页面上的其他库冲突。