我是Javascript和Flash的新手,我正在开发一款浏览器Flash视频录像机。
现在,当我将浏览器定向到某个URL时,它会要求获得访问网络摄像头的权限并开始录制 - 并在Ubuntu上流式传输到Red5服务器。
我现在需要添加一个javascript按钮,单击该按钮将开始录制,再次单击时将停止录制。有人可以告诉我如何在单击按钮时播放.swf文件吗?如何在再次点击按钮时停止播放?
感谢。
答案 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>
答案 1 :(得分:0)
您可以使用ExternalInterface在JavaScript和AS3之间进行通信。之后,只是让按钮调用您要执行的AS3功能。