0

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

我正在尝试解决 iPad(1 或 2)上 Video 类的整体性能不佳的问题。在加载 html5 对象的 StageWebView 中播放视频效果非常好(阅读:GPU 硬件解码的 h264)。

在 StageWebView 中播放完视频后,我确实需要关闭视频。我正在打包一个用 H264 编码的 .mov 文件,该文件在 webkit 浏览器中播放效果很好。如果我只是在 StageWebView 中加载一个带有指向任何视频文件的标签的网页,它会播放得非常好。

一旦我介绍了 StageWebViewBridge,它就会改变。他们希望将文件放在 /html 文件夹中。我正在发送各种路径供玩家 src 播放,并且没有加载任何视频。该视频被命名为“a.mov”。我试过 player.src = 'a.mov', or player.src = 'html/a.mov', or player.src = './html/a.mov' 甚至使用 File 类来获取文件。 applicationDirectory 并将文件解析为 .nativePath。无论我从 AS 向 StageWebView 页面中的 JS 发送什么,我都无法让它加载视频。

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

甚至我所做的 File.applicationDirectory 参考都表明文件“存在”,但我永远无法在页面上设置元素的 .src 属性。好像没看懂

任何提示将非常感谢。

4

3 回答 3

3

我是stagewebview桥的制造商...

你评论的所有事情,都可以用我的课来完成......在html中引用文件的方式是:

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

但是我想您的问题是您将动态更改 src 并且您不知道如何获取文件的真实路径。

就在今天,我更新了我的图书馆......(一些错误和安卓版本!!!)

我需要时间来上传示例,但作为起点,请查看 wiki 和 javascript 中的此函数:

StageWebViewBridge.getFilePath( path )

想象一下,您在 www 目录中有一个名为 video.mp4 的文件(是的,现在是根目录),您需要使用 jQuery 分配视频的 src ...

只需在 JS 中执行此操作:

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

在没有做任何事情之前重新阅读文档,因为它已被更改......

告诉我是否有帮助....

于 2011-09-19T03:17:58.173 回答
0

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

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

  2. 也许您不需要完整的 StageWebViewBridge?我已经在我的博客上写了如何使用 StageWebView 进行 AS 到 JS 通信(反之亦然)的基础知识。听起来你的需要,你只需要 AS -> JS,这只是意味着做一个swv.loadURL("javascript:somefunction('videoURL')"). 在哪里somefunction设置 HTML5 标记的 src 参数。

于 2011-09-17T05:33:55.160 回答
0

为了让您的 Air 应用程序和 JavaScript 之间的通信更轻松,您可以尝试我们构建的这个 ANE https://github.com/myflashlab/webView-ANE

于 2015-06-18T17:25:05.367 回答