我试图在webview中播放本地.swf文件(保存在资产或SD卡中)。但我没有运气......任何人都可以指导我正确的方式??? 我可以通过url播放swf文件....但是在webview中播放本地文件时遇到困难
答案 0 :(得分:7)
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");
}
}
}
答案 1 :(得分:6)
资产:
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);
答案 2 :(得分:0)
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");
}
}
}