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
- ¿Qué causa "Error de cromo desconocido: -400"?
- ¿Cómo determinar cuándo Android WebView está completamente cargado?
- ¿Cuál es el significado de PicturePileLayerContent (...): Warning: painting PicturePile sin contenido
- ¿Por qué WebView en el código fuente del SDK amplía MockView?
- Cómo cargar un archivo js de los elementos en la vista web después de cargar html
- WebView y localhost
- Forzar la visualización web para mostrar los sitios de escritorio
- Android webview - set referer (para la versión <2.2 aka Froyo)
- Captura de pantalla de WebView en Android
- Usando javascript en android webview
- WebView muestra un signo de interrogación en un cuadro azul
- Transiciones de la página siguiente / anterior de WebView
- Android WebView muestra una página en blanco
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 – Google Maps API v2 – NoClassDefFoundError
- ¿Cómo almacenar módulo, exponente público y exponente privado de forma segura en Android?