1

我正在尝试将一个简单的 OSMF 播放器嵌入到我的 fex 应用程序中。但它不起作用。这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" applicationComplete="init()" >
<fx:Script>
    <![CDATA[
        import org.osmf.media.MediaPlayerSprite;
        import org.osmf.media.URLResource;

        protected function init():void{

            var sprite:MediaPlayerSprite = new MediaPlayerSprite();

            sprite.resource= new URLResource("http://mediapm.edgesuite.net/strobe/content/test/AFaerysTale_sylviaApostol_640_500_short.flv");
            container.addChild(sprite);
        }

    ]]>
</fx:Script>

<mx:UIComponent id="container" width="640" height="360"/>

运行应用程序时出现白屏

谢谢

4

1 回答 1

2

这是如何做到这一点的纯 AS:

package  {
    import flash.display.Sprite;
    import org.osmf.media.MediaPlayerSprite;
    import org.osmf.media.URLResource;
    import org.osmf.media.DefaultMediaFactory;

    public class SimpleOSMFPlayer extends flash.display.Sprite {

    public static const PATH:String = "path/to/your/video.ext";

    public var playerSprite:MediaPlayerSprite;
    public var mediaFactory:DefaultMediaFactory;

        public function SimpleOSMFPlayer() {
            playerSprite = new MediaPlayerSprite();
            var resource:URLResource = new URLResource(PATH);
            mediaFactory = new DefaultMediaFactory();
            playerSprite.media = mediaFactory.createMediaElement(resource);
            addChild(playerSprite);
        }
    }       
}

对于 flex,将 playerSprite 添加到您的 UIComponent 容器中,而不是最后一行的 sprite。

于 2012-06-22T10:03:16.277 回答