我的首要任务是有一个全屏(标准尺寸)1024x768 H264视频在ipad应用程序上播放flash CS5.5 AIR for iOS使用StageWebView类编译。这工作得很好。虽然没有官方的方式与StageWebView沟通,我不能"删除"视频一旦它完成播放。进入StageWebViewBridge,使AS <=> JS通信。
我试图绕过iPad(1或2)上视频类的整体表现不佳。在加载html5对象的StageWebView中播放视频非常棒(阅读:GPU硬件解码h264)。
在StageWebView中播放完成后,我确实需要关闭视频。我正在打包一个用H264编码的.mov文件,该文件在webkit浏览器中发挥很大作用。如果我只是在StageWebView中加载一个网页,并带一个指向任何视频文件的标签,它就会播放得很好。
一旦我引入StageWebViewBridge,它就改变了。他们希望文件放在/html文件夹中。我发送各种路径的播放器src播放,没有视频加载。这段视频被命名为"a.mov"。我试过player。SRC = ' .mov',或player。SRC = 'html/a。Mov '或player。SRC = './html/a。或者甚至使用File类来获取File。并将该文件解析为. nativepath。无论我在StageWebView页面中从AS发送什么到JS,我都无法让它加载视频。
有没有人知道如何引用嵌入文件?我想将文件从AS加载到JS,并让JS重置html5元素的.src属性。
Even the File。我所做的applicationDirectory引用声明文件"存在",但我永远不能在页面上设置元素的.src属性。它似乎不明白。
我是stagewebview bridge的制造者…
你评论的所有事情,都可以用我的类....完成在HTML中引用文件的方式是:
<img src="appfile:/yourfile.jpg">
但是我想象你的问题是,你将动态地改变src,你不知道如何获得文件的实际路径。
就在今天我更新了我的图书馆…(有些bug,和android版本!!)
我需要时间上传示例,但作为一个起点,请查看wiki和javascript中的此函数:
StageWebViewBridge.getFilePath( path )
假设你在www目录下有一个名为video.mp4的文件(是的,已经改变了,现在是根目录),你需要用jQuery分配视频的src…
只需在JS中这样做:
$('#video').attr('src', StageWebViewBridge.getFilePath('jsfile:/video.mp4') );
在什么都不做之前,重新阅读文档,因为它已经改变了…
说我如果有帮助....
我不太明白你的问题。以下几点可能会有所帮助:
-
StageWebView不理解AIR中其他地方使用的app:/或app-storage:/协议。因此,如果使用本地视频文件,请确保您使用的url为file:/。我对iOS不太熟悉,但如果你无法访问app-storage或app中的文件(假设你正在尝试这样做),你可以将它们复制到File中。userDirectory (Android上是SD卡)在应用启动时
-
也许你不需要完整的StageWebViewBridge?我已经在我的博客上写了关于如何用StageWebView进行AS到JS通信(反之亦然)的基础知识。这听起来像你的需要,你只需要AS -> JS,这只是意味着做一个
swv.loadURL("javascript:somefunction('videoURL')")
。其中somefunction
设置HTML5标签的src参数
为了更容易地在Air应用程序和JavaScript之间进行通信,您可以尝试我们构建的这个ANE https://github.com/myflashlab/webView-ANE