OSMF AIR(桌面)加载本地视频文件
我是OSMF的新手。目前,我正试图在一个现有的Flex项目中使用它,该项目的目标是桌面上的AIR(该项目直到现在为止一直在使用spark视频播放器) 我举了一个例子: 但是,当我尝试使用本地路径加载视频文件时,它不起作用 如果我使用flash.filesystem.File.resolvePath()然后得到一个“app:/(…)”路径,它在运行时会在下面一行崩溃,可能是因为“mediaFactory.createMediaElement()”方法无法理解此路径:OSMF AIR(桌面)加载本地视频文件,air,desktop,local,osmf,Air,Desktop,Local,Osmf,我是OSMF的新手。目前,我正试图在一个现有的Flex项目中使用它,该项目的目标是桌面上的AIR(该项目直到现在为止一直在使用spark视频播放器) 我举了一个例子: 但是,当我尝试使用本地路径加载视频文件时,它不起作用 如果我使用flash.filesystem.File.resolvePath()然后得到一个“app:/(…)”路径,它在运行时会在下面一行崩溃,可能是因为“mediaFactory.createMediaElement()”方法无法理解此路径: protected f
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加载和播放本地视频文件
如果是,我做错了什么?事实上,以下方法似乎有效:
var myFilePath:String = File.applicationDirectory.nativePath + "/" + myFileName;
mediaFactory.createMediaElement( new URLResource( myFilePath ));
所以OSMF能够读取本地文件^^