Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过JavaScript访问Flash媒体播放事件和方法_Flash_Events_Adobe_Osmf - Fatal编程技术网

通过JavaScript访问Flash媒体播放事件和方法

通过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">

有人知道我是否支持一些API,因为我需要通过
javascript
处理一些方法/事件,比如:

  • 停顿
  • 停止
  • 流媒体播放结束
  • 流媒体已启动
  • 流错误
  • 我需要它所拥有的一切。但是政府说我们必须实施它。 谢谢

    p.S.基本FMP实施如下:

      <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