如何在webview中播放本地swf文件

Viv*_*kar 12 android webview

我试图在webview中播放本地.swf文件(保存在资产或SD卡中).但我没有运气......任何人都可以指导我正确的方式??? 我可以通过url播放swf文件....但是在webview中播放本地文件时遇到困难

Ash*_*and 7

swf2.html:

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
  </head>
  <body>
    <object width="215" height="140">
      <param name="movie" value="choudanse7us.swf">
        <embed src="file:///mnt/sdcard/choudanse7us.swf"
               width="215" height="140">
        </embed>
    </object>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

下面是android代码

package webView.video;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.webkit.WebView;


public class WebViewActivity extends Activity {
private WebView mWebView;

/** Called when the activity is first created. */
     @Override
     public void onCreate (Bundle savedInstanceState) {
         super. onCreate (savedInstanceState);
         setContentView(R.layout.main);



         // html file with sample swf video in sdcard

         //swf2.html points to swf in sdcard

         mWebView = (WebView)findViewById(R.id.webview);
         mWebView.getSettings().setJavaScriptEnabled(true);
         mWebView.getSettings().setPluginsEnabled(true);
         mWebView.getSettings().setAllowFileAccess(true);


         if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
             System.exit(4);
         } else {
             mWebView.loadUrl("file://" + Environment.getExternalStorageDirectory() + "/swf2.html");
         }

     }
}
Run Code Online (Sandbox Code Playgroud)


Sve*_*ing 6

对于资产:

webView.loadUrl("file:///android_asset/YourFile.swf");
Run Code Online (Sandbox Code Playgroud)

将播放自动缩放到WebView大小的文件.


对于SD卡,我希望这样的东西可以工作:

if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
    Log.d(TAG, "No SDCard");
} else {
    webView.loadUrl("file://" + Environment.getExternalStorageDirectory() + "/YourPath/YourFile.swf");
}
Run Code Online (Sandbox Code Playgroud)

(当然,使用READ_EXTERNAL_STORAGE权限).

编辑:您可能还需要设置:

webView.getSettings().setAllowFileAccess(true);
Run Code Online (Sandbox Code Playgroud)

  • 我以前没有使用.3gp文件 - 我不知道Android WebView甚至支持它们.**编辑**:我刚刚做了一些快速谷歌搜索,从我看到的我很确定WebView无法加载.3gp文件. (2认同)