Cómo reproducir archivos swf locales en una vista web

Estoy tratando de reproducir archivos .swf locales (guardados en un activo o una tarjeta SD) dentro de la vista web. Pero no estoy teniendo suerte … ¿Alguien puede guiarme de la manera correcta? Puedo reproducir archivos swf a través de url … pero tengo dificultades para reproducir archivos locales dentro de webview

swf2.html:

             

a continuación está el código de 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"); } } } 

Para los activos:

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

reproducirá el archivo de escala automática en el tamaño de WebView.


Para la tarjeta SD, espero que algo como esto funcione:

 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: es posible que también deba 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"); } } }