私は今では静かに絶望しています。
ここにいる他の多くの人と同じように、externalinterface を自分のページで動作させるようにしています。私が何をするか、どのようにコードを正しい方法で変更するかは問題ではありません.FirefoxまたはChromeから常に「メソッドがありません」というレポートが表示されます!
jQueryを介してHTMLの「再生」リンクを使用して、Flash内で再生機能をトリガーしようとしています。私は理解できません、何がうまくいかないのですか!
Flash CS6 の AS3.0 (サウンド ファイルの再生 - 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 の読み込み順序の問題かもしれないと思ったので、関数を呼び出す順序やドキュメント内のファイルを配置する場所の組み合わせをたくさん試しましたが、うまくいきませんでした。
その問題に関する他のユーザーによるほとんどのエントリもチェックして試してみましたが、それでもうまくいきませんでした! アイデアやヒントをいただければ幸いです:)!
ドイツのベルリンから最高の願いを!