OSMF AIR(桌面)加载本地视频文件

时间:2013-01-26 10:01:09

标签: air desktop local osmf

我是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来加载和播放本地视频文件?

如果是的话,我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

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

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