How to Play local swf files in a webview

后端 未结 3 1016
没有蜡笔的小新
没有蜡笔的小新 2020-11-29 03:05

Am trying to play local .swf files (kept in asset or sdcard) inside webview. But am not getting any luck...Can anyone guide me the proper way??? I am able to play swf files

相关标签:
3条回答
  • 2020-11-29 03:29

    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>
    

    below is the android code

    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");
             }
    
         }
    }
    
    0 讨论(0)
  • 2020-11-29 03:31
    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");
             }
    
         }
    }
    
    0 讨论(0)
  • 2020-11-29 03:41

    For assets:

    webView.loadUrl("file:///android_asset/YourFile.swf");
    

    will play the file auto-scaled to the WebView size.


    For the SD card, I expect something like this would work:

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

    (Using the READ_EXTERNAL_STORAGE permission, of course).

    Edit: You may also need to set:

    webView.getSettings().setAllowFileAccess(true);
    
    0 讨论(0)
提交回复
热议问题