0

我是 OSMF 的新手。目前,我正在尝试在现有的针对桌面 AIR 的 Flex 项目中使用它(该项目之前一直使用 spark 视频播放器)。

我举了这个例子: http: //jodieorourke.com/view.php ?id=150&blog=news

但是,当我尝试使用本地路径加载视频文件时,它不起作用。

如果我使用 flash.filesystem.File.resolvePath() 然后得到一个“app:/(...)”路径,它会在运行时在下面一行崩溃,可能是因为“mediaFactory.createMediaElement()”方法不能理解这条路:

    protected function playMedia():void
    {
        if( _mediaPlayer )
        {
            if( _element )
            {
                if( _container.containsMediaElement( _element ) )
                {
                    _container.removeMediaElement( _element );
                }
            }
            _element = _mediaFactory.createMediaElement( new URLResource( _source ) );
            _mediaPlayer.media = _element;
            _container.addMediaElement( _element ); // crash on this line
        }
    }

如果我尝试使用像 'file:///c:/blablabla/bla/bla.flv' 这样的绝对路径,我会得到一个白屏和以下跟踪:

*** Security Sandbox Violation ***
Connection to 'file:///c:/blablabla/bla/bla.flv halted - not permitted from app:/blabla.swf

所以,我想知道:是否可以使用 OSMF 加载和播放本地视频文件?

如果是,我做错了什么?

4

1 回答 1

0

Oups,实际上,似乎以下工作:

var myFilePath:String = File.applicationDirectory.nativePath + "/" + myFileName;
mediaFactory.createMediaElement( new URLResource( myFilePath ));

所以 OSMF 能够读取本地文件^^!

于 2013-01-26T12:23:08.117 回答