通过JavaScript访问Flash媒体播放事件和方法
有人知道我是否支持一些API,因为我需要通过通过JavaScript访问Flash媒体播放事件和方法,flash,events,adobe,osmf,Flash,Events,Adobe,Osmf,有人知道我是否支持一些API,因为我需要通过javascript处理一些方法/事件,比如: 玩 停顿 停止 流媒体播放结束 流媒体已启动 流错误 我需要它所拥有的一切。但是政府说我们必须实施它。 谢谢 p.S.基本FMP实施如下: <object width="600" height="409"> <param name="movie" value="http://fpdownload.adobe.com/strobe/FlashMediaPlayback.swf">
javascript
处理一些方法/事件,比如:
<object width="600" height="409"> <param name="movie" value="http://fpdownload.adobe.com/strobe/FlashMediaPlayback.swf"></param><param name="flashvars" value="src=http%3A%2F%2Fosmf.org%2Fvideos%2Fcathy2.flv&poster=http%3A%2F%2Fosmf.org%2Fimages%2Fposter_cathy_fmp.jpg"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://fpdownload.adobe.com/strobe/FlashMediaPlayback.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="409" flashvars="src=http%3A%2F%2Fosmf.org%2Fvideos%2Fcathy2.flv&poster=http%3A%2F%2Fosmf.org%2Fimages%2Fposter_cathy_fmp.jpg"></embed></object>
Flash Media Playback支持与频闪灯媒体播放相同的功能,但频闪灯的javascript api一直是探索性的,因此我认为FMP中不支持它 尽管如此,FMP与Strobe具有相同的插件架构,因此您应该能够使用OSMF并以与Strobe相同的方式为其创建插件。不久前,我为Strobe创建了一个插件,目的是扩展Strobe的javascript api。您可以在FMP中找到类似的内容。我是这样做的:
private function onFullScreen(event:FullScreenEvent):void
{
if (event.fullScreen) {
call([this.javascriptCallback, ExternalInterface.objectID, "fullscreen", true]);
} else {
call([this.javascriptCallback, ExternalInterface.objectID, "fullscreen", false]);
}
}
private static function call(args:Array, async:Boolean = true):void
{
if (async)
{
var asyncTimer:Timer = new Timer(10, 1);
asyncTimer.addEventListener(TimerEvent.TIMER,
function(event:Event):void
{
asyncTimer.removeEventListener(TimerEvent.TIMER, arguments.callee);
ExternalInterface.call.apply(ExternalInterface, args);
}
);
asyncTimer.start();
return;
}
ExternalInterface.call.apply(ExternalInterface, args);
}
}
见:
如果可以,我会放弃FMP。FMP的文档几乎不存在,而且Strobe中对javascript的支持非常好。如果您感兴趣,我已经记录了频闪javascript api。Flash Media Playback支持与频闪媒体播放相同的功能,但用于频闪的javascript api始终是探索性的,因此我认为FMP中不支持它 尽管如此,FMP与Strobe具有相同的插件架构,因此您应该能够使用OSMF并以与Strobe相同的方式为其创建插件。不久前,我为Strobe创建了一个插件,目的是扩展Strobe的javascript api。您可以在FMP中找到类似的内容。我是这样做的:
private function onFullScreen(event:FullScreenEvent):void
{
if (event.fullScreen) {
call([this.javascriptCallback, ExternalInterface.objectID, "fullscreen", true]);
} else {
call([this.javascriptCallback, ExternalInterface.objectID, "fullscreen", false]);
}
}
private static function call(args:Array, async:Boolean = true):void
{
if (async)
{
var asyncTimer:Timer = new Timer(10, 1);
asyncTimer.addEventListener(TimerEvent.TIMER,
function(event:Event):void
{
asyncTimer.removeEventListener(TimerEvent.TIMER, arguments.callee);
ExternalInterface.call.apply(ExternalInterface, args);
}
);
asyncTimer.start();
return;
}
ExternalInterface.call.apply(ExternalInterface, args);
}
}
见:
如果可以,我会放弃FMP。FMP的文档几乎不存在,而且Strobe中对javascript的支持非常好。如果您感兴趣,我已经记录了Strobe javascript api