How to Play local swf files in a webview

匿名 (未验证) 提交于 2019-12-03 08:44:33

问题:

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 via url....but getting difficulty in playing local file inside webview

回答1:

swf2.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");          }       } }


回答2:

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);


回答3:

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)){   
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!