StageWebViewBridge加载包含的资产

时间:2011-09-16 18:51:50

标签: ios flash actionscript-3 air stagewebviewbridge

我的首要任务是使用StageWebView类在使用Flash CS5.5 AIR for iOS编译的ipad应用程序上播放全屏(标准尺寸)1024x768 H264视频。这完全没问题。虽然没有正式的方式与StageWebView进行通信,但一旦完成播放,我就无法“删除”该视频。输入StageWebViewBridge,它启用AS< => JS通讯。

我正试图解决iPad(1或2)上Video类的整体糟糕表现。在StageWebView中播放加载html5对象的视频效果非常好(阅读:GPU硬件解码h264)。

我需要在StageWebView中完成播放后关闭视频。我正在打包一个在H264中编码的.mov文件,该文件在webkit浏览器中很有用。如果我只是在StageWebView中加载一个带有指向任何视频文件的标签的网页,它就可以完美地播放。

一旦我介绍了StageWebViewBridge,它就会改变。他们想要放在/ html文件夹中的文件。我正在为玩家src发送各种路径,而且没有视频加载。视频名为'a.mov'。我尝试了player.src ='a.mov',或者是player.src ='html / a.mov',或者是player.src ='。/ html / a.mov',或者甚至使用File类来获取文件。 applicationDirectory并将文件解析为.nativePath。无论我在StageWebView页面中从AS发送到JS,我都无法加载视频。

有没有人想出如何引用嵌入文件?我想发送文件从AS加载到JS并让JS重置html5元素的.src属性。

即使File.applicationDirectory引用我声明文件'exists',但我永远不能在页面上设置元素的.src属性。它似乎不明白。

任何提示都将不胜感激。

3 个答案:

答案 0 :(得分:3)

我是stagewebview桥的制造者......

您评论的所有内容都可以通过我的课程来完成.... html中引用文件的方式是:

<img src="appfile:/yourfile.jpg">

但是我想你的问题是,你会改变src,并且你不知道如何获得文件的真实路径。

就在今天我已经更新了我的库...(一些错误,以及Android版!!!)

我需要有时间上传示例,但是从一个起点看一下wiki和javascript中的这个函数:

StageWebViewBridge.getFilePath( path )

想象一下你在www dir中有一个文件(是的,已经改变了,现在是根目录)名为video.mp4,你需要用jQuery分配视频的src ......

只需在JS中执行此操作:

$('#video').attr('src', StageWebViewBridge.getFilePath('jsfile:/video.mp4') );

在执行nothig之前,重新阅读文档,因为它已被更改...

如果有帮助,请告诉我....

答案 1 :(得分:0)

我不确定我完全理解你的问题。一些可能有用的事情:

  1. StageWebView无法理解应用程序:/或app-storage:/ AIR在其他地方使用的协议。因此,请确保您使用的URL文件:/如果使用本地视频文件。我不熟悉iOS,但是如果你无法访问app-storage或app中的文件(假设你正在尝试这样做),你可以将它们复制到File.userDirectory(在Android上就是SD)卡)在应用启动时。

  2. 也许您不需要完整的StageWebViewBridge?我已经用StageWebView on my blog.编写了如何使用AS进行JS通信(反之亦然)的基础知识。这听起来像你的需要,你只需要AS - &gt; JS,简单地说就是做swv.loadURL("javascript:somefunction('videoURL')")somefunction设置HTML5标记的src参数的位置。

答案 2 :(得分:0)

为了便于您的Air应用和JavaScript之间的沟通,您可以尝试我们已经构建的ANE https://github.com/myflashlab/webView-ANE