单击javascript按钮时播放SWF

时间:2013-08-29 09:01:03

标签: javascript actionscript-3 flash red5

我是Javascript和Flash的新手,我正在开发一款浏览器Flash视频录像机。

现在,当我将浏览器定向到某个URL时,它会要求获得访问网络摄像头的权限并开始录制 - 并在Ubuntu上流式传输到Red5服务器。

我现在需要添加一个javascript按钮,单击该按钮将开始录制,再次单击时将停止录制。有人可以告诉我如何在单击按钮时播放.swf文件吗?如何在再次点击按钮时停止播放?

感谢。

2 个答案:

答案 0 :(得分:1)

正如Pete所说,ExternalInterface肯定是在SWF和周围HTML页面之间进行函数调用所需要的。

您还可以使用swfobject动态地跨浏览器兼容SWF嵌入/加载到页面中。

我已经对您在这里寻找的两个功能进行了一些演示:http://akineticblog.com/fl/ExtIntDemo/index.html

AS3代码是:

import flash.external.ExternalInterface;

var recording:Boolean = false;

//These are two TextFields instantiated on the stage as visual indicators
recordingTF.visible = false;
notRecordingTF.visible = true;

function recording_toggle():void {
    recording = ! recording;

    //Your actual record start/stop code would go here//
    recordingTF.visible = recording;
    notRecordingTF.visible = ! recording;
}

if (ExternalInterface.available) {
    //This registers the AS3-side function to the JS-side reference
    ExternalInterface.addCallback("recording_toggle", recording_toggle);
}

对于HTML / JS方面,您可以查看上述链接的页面来源,但主要部分是:

function swf_load() {
    swfobject.embedSWF("ExtIntDemo.swf", "flashMovie", "500", "250", "10.1", "swf/expressinstall.swf", flashvars, params, attributes);
};

- 要在SWF中加载时调用,将div替换为id' flashMovie'。

<button onclick="flashMovie.recording_toggle()">Toggle recording</button>
  • 发送&#39; recording_toggle&#39;函数调用SWF本身。

答案 1 :(得分:0)

您可以使用ExternalInterface在JavaScript和AS3之间进行通信。之后,只是让按钮调用您要执行的AS3功能。