Как играть локальные SWF-файлы в веб-просмотре - PullRequest
12 голосов
/ 24 мая 2011

Я пытаюсь воспроизвести локальные файлы .swf (хранящиеся в активе или на sdcard) внутри веб-просмотра. Но мне не повезло ... Кто-нибудь может наставить меня на правильный путь ??? Я могу воспроизводить SWF-файлы через URL-адрес ...., но у меня возникают трудности при воспроизведении локального файла в веб-представлении

Ответы [ 3 ]

7 голосов
/ 20 июня 2011

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>

ниже код 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");
         }

     }
}
6 голосов
/ 24 мая 2011

Для активов:

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

воспроизведет файл, автоматически масштабированный до размера WebView.


Для SD-карты, я ожидаю, что-то вроде этого будет работать:

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

(Конечно, используя разрешение READ_EXTERNAL_STORAGE).

Редактировать: Вам также может потребоваться установить:

webView.getSettings().setAllowFileAccess(true);
0 голосов
/ 20 июня 2011
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");
         }

     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...