我是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来加载和播放本地视频文件?
如果是的话,我做错了什么?
答案 0 :(得分:0)
var myFilePath:String = File.applicationDirectory.nativePath + "/" + myFileName;
mediaFactory.createMediaElement( new URLResource( myFilePath ));
所以OSMF能够读取本地文件^^!