我在让 Javascript 恢复 Flash 文件时遇到了很大的问题。
加载 Flash 文件并将视频设置为自动播放 false
。出于某种原因,任何 Javascript 都无法识别 AS3 函数。它一直说函数未定义。例如
function getFlashMovie(movieName) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
function callToActionscript(str)
{
getFlashMovie("video").sendToActionscript(str);
}
sendToActionscript
未定义
。
任何帮助都会很棒。
谢谢 标记
最佳答案
要使用 javascript 播放您的视频,您需要做三件事。
首先在你的flash文件中设置一个actionscript方法,例如:
import flash.external.ExternalInterface;
// create the callback to allow the js to call the method
ExternalInterface.addCallback("playMyVideo", playMyVideo);
function playMyVideo():void
{
video.play();//where video is the name of the video component
}
接下来创建您的 javascript 函数来调用 AS 方法:
function getFlashMovie(movieName) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
//js function to call the AS3 method
function callToActionscript()
{
//NB this is the name of the swf in the HTML and not the video component
getFlashMovie("mySWF").playMyVideo();
}
最后,您需要允许 swf 与 HTML 页面中的 Javascript 通信。必须设置 allowScriptAccess 参数。默认情况下,这设置为“sameDomain”,仅当 SWF 驻留在与主机网页相同的子域中时才允许脚本。将此设置为“始终”允许所有脚本从 SWF 调用。
关于javascript - 在 Flash 中播放停止的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6358800/