在 Android WebView 中本地播放来自 SWIFFY 转换 SWF 的交互式 HTML5 内容

play interactive html5 content from swiffy converted swf locally in android webview

本文关键字:SWF 转换 SWIFFY 交互式 内容 HTML5 WebView Android 播放      更新时间:2023-09-26

我有一个交互式swf文件,我想移植到android。由于 android 4.0+ 不正式支持 swf,我使用 google swiffy 将 swf 转换为 html5,我相信它是内联 svg 文件。我把它放在资产和SD卡中,然后使用

mWebView.loadUrl("file:///android_asset/converted.htm", null);

mWebView.loadUrl("file:///android_sdcard/converted.htm", null);

但是屏幕上没有任何显示。我还尝试从资产文件读取到字符串并使用

mWebView.loadDataWithBaseURL("null", buf.toString(), "text/html", "utf-8", "");

它也没有显示任何东西。

我尝试了

不同的avd和设备,也尝试了设置

webSettings.setJavaScriptEnabled(true);
webSettings.setPluginState(WebSettings.PluginState.ON); //this one seems deprecated

并设置

android:hardwareAccelerated="true"

在 AndroidManifest.xml 文件中。我看到一些帖子提到使用ActionScript3来控制交互式JavaScript代码,但我对这些感到迷茫。有没有教程来完成这个简单的任务?

您可能需要包含 swiffy 运行时。

尝试在清单中启用 Web 访问,以便 Web 视图可以访问并加载它。默认转换将具有引用此文件的联机版本的标记。

或者,下载运行时的本地副本.js并将标记指向 SD 卡中的该文件。