package com.bosi.chineseclass.han.fragments; import android.annotation.SuppressLint; import android.net.Uri; import android.util.Log; import android.view.View; import android.webkit.JavascriptInterface; import android.webkit.WebSettings; import android.webkit.WebView; import android.widget.MediaController; import android.widget.VideoView; import com.bosi.chineseclass.BaseFragment; import com.bosi.chineseclass.R; import com.lidroid.xutils.view.annotation.ViewInject; public class ZjjzyFragment extends BaseFragment { @ViewInject(R.id.video_zjjzy) private VideoView mVideoView; @ViewInject(R.id.webview_zjjzy_index) private WebView mWebView; private final String PATH = "http://www.yuwen100.cn/yuwen100/hzzy/jbzy-clips/video/"; @Override protected View getBasedView() { return inflater.inflate(R.layout.fragment_layout_zjjzy, null); } @Override protected void afterViewInject() { mVideoView.setMediaController(new MediaController(mActivity)); //TODO:设置正确的专家讲字源路径 String path = "http://www.yuwen100.cn/yuwen100/zy/hanzi-flash/120001.mp4"; playVideo(path); initWebView(); mWebView.loadUrl("file:///android_asset/zjjzy/videoindex.html"); } private void playVideo(String path) { mVideoView.setScrollContainer(false); mVideoView.setVideoURI(Uri.parse(path)); mVideoView.requestFocus(); mVideoView.start(); } @SuppressLint({ "JavascriptInterface", "SetJavaScriptEnabled" }) private void initWebView() { WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); mWebView.addJavascriptInterface(new WebAppShowObjectInterface(), "zjjzy"); } public class WebAppShowObjectInterface { @JavascriptInterface public void showObject(final String id) { Log.e("HNX", "Zjjzy showObject id " + id); mActivity.runOnUiThread(new Runnable() { @Override public void run() { //TODO:设置正确的专家讲字源路径 // String path = PATH + id + ".mp4"; String path = "http://www.yuwen100.cn/yuwen100/zy/hanzi-flash/120001.mp4"; playVideo(path); } }); } } @Override public void onDestroy() { mWebView.clearCache(true); mWebView.clearHistory(); super.onDestroy(); } }