Cómo reproducir archivos swf locales en una vista web

Estoy tratando de reproducir archivos .swf locales (guardados en el activo o sdcard) dentro de webview. Pero no estoy recibiendo suerte … ¿Puede alguien guiarme de la manera correcta ??? Soy capaz de reproducir archivos swf a través de url …. pero tener dificultad en la reproducción de archivos locales dentro de webview

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> 

Abajo está el código androide

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

Para los activos:

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

Reproducirá el archivo escalado automáticamente al tamaño de WebView.


Para la tarjeta SD, espero que algo así funcionaría:

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

(Usando el permiso READ_EXTERNAL_STORAGE, por supuesto).

Editar: También puede ser necesario configurar:

 webView.getSettings().setAllowFileAccess(true); 
 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"); } } } 
  • Android Fatal señal 11 (SIGSEGV) en WebViewCoreThre
  • Android WebView: métodos de la actividad de llamada forma interfaz JavaScript
  • JQuery getScript no funciona en Android WebView cuando se utiliza Activos locales / HTML / Recursos
  • Android WebView app fallando en el emulador: null Contexto de la aplicación?
  • JavaScript no funciona en Android WebView
  • WebView lanza Receptor no registrado: android.widget.ZoomButtonsController
  • Agregar una vista al final de Webview
  • Uso de una vista web para explorar la galería de fotos
  • Android WebView se bloquea al hacer clic en un enlace
  • Abrir PDF en WebView con un tamaño de archivo superior a 1 MB
  • Caída de la aplicación en Android 5.0.x
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.