单击div /图像时如何播放.swf(声音)

时间:2014-12-29 08:26:57

标签: javascript jquery flash

我一直在网上搜索过去2小时左右如何做到这一点并且没有取得任何进展..

所以基本上我想在点击图像时播放nav.swf。

nav.swf代码:

object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="1" height="1" id="nav" align="middle">
            <param name="allowScriptAccess" value="sameDomain" />
            <param name="allowFullScreen" value="false" />
            <param name="movie" value="nav.swf" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#ffffff" />    <embed src="nav.swf" menu="false" quality="high" wmode="transparent" play="false" flashvars="autoplay=false&play=false bgcolor="#ffffff" width="1" height="1" name="nav" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
        </object>

我该怎么做?

2 个答案:

答案 0 :(得分:0)

.swf文件是Flash视频文件。按照这些方法播放.swf文件。

方法1:

您可以添加object元素并在div / image的"onclick"事件上设置属性。 然后将"autostart"属性设置为true。这应该可以解决问题。

我们将在下面的div中添加object元素。

<div id="video_wrapper"></div>

假设div id为“video_div”,你将点击它,使用下面的代码。

document.getElementById("video_div").addEventListener("click", playVideo);

function playVideo() {

    var obj = document.createElement('object');
    obj.setAttribute('data', 'nav.swf');
    obj.setAttribute('autostart', true);
    obj.setAttribute('play', true);
    document.getElementById('video_wrapper').appendChild(obj);
}

同时检查 swfobject

<强>方法2: 您可以使用ExternalInterface从Javascript调用Actionscript函数。 请参阅文档here

答案 1 :(得分:0)

使用外部接口。 AS3代码:

//call from javascript
ExternalInterface.addCallback("playSoundInFlash", as3Function);

function as3Function():void
{
    // play sound here
}
在JS中,做一些像:

<head>
<script language="Javascript">
function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName]
    }
    else {
        return document[movieName]
    }
}
function playSound () {
    thisMovie("nav.swf").playSoundInFlash();
} 
</script>
</head>

<body>
<img src="myimage.jpg" onclick="javascript: playSound();" />
</body>