当前位置: 代码迷 >> Android >> android webview,该怎么处理
  详细解决方案

android webview,该怎么处理

热度:43   发布时间:2016-05-01 21:05:09.0
android webview
有那位高人用webview实现过网络视频的播放,始终无法播放,我自己搭的服务器(模拟的)
我的代码如下:
html代码:
<video id="player" name="player" src="oppo.mp4" width="300" height="100" controls="controls" autoplay="autoplay" >
  Your browser does not support the video tag.
</video>

JScript code
<script type="text/javascript">    function play(){        document.getElementById("content").innerHTML = "This Content is showed by Android invoke;        player.play();    }} </script>


java代码:
Java code
public class WebView_lancyActivity extends Activity {    WebView webView;    Button btn_change;    Handler handler = new Handler();    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        webView = (WebView) findViewById(R.id.wv_lancy);        WebSettings settings = webView.getSettings();        settings.setJavaScriptEnabled(true);        /**         * addJavascriptInterface()主要是和javascript进行交互,利用此接口,直接可以在web页面调用android里面的方法。<br>         * obj    : 一个java类,里面包含要执行的方法<br>         * interfaceName : 就是给obj起一个别名<br>         */        webView.addJavascriptInterface(new Object() {            public void startTheGoogleMap() {                handler.post(new Runnable() {                    @Override                    public void run() {                        // Log.i("i", "i am load the google map");                        // 打开google地图                        Intent mIntent = new Intent();                        ComponentName component = new ComponentName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");                        mIntent.setComponent(component);                        startActivity(mIntent);                    }                });            }        }, "lancy_jing");        webView.loadUrl("http://192.168.1.6:8080/index2.html");                btn_change = (Button) findViewById(R.id.btn_changeContent);        btn_change.setOnClickListener(new OnClickListener() {            public void onClick(View v) {                /**                 * 在android里面,可以直接使用:javascript:function()调用javascript里面定义的方法                 */                webView.loadUrl("javascript:play()");            }        });    }}


------解决方案--------------------
不用webView,直接打开这个网页可以播放吗?
------解决方案--------------------
发上来的JScript 代码就有误,可以播放吗?
------解决方案--------------------
1、JS有误码,少了引号;
2、手机是否支持HTML5格式,不支持的话也是无用;
3、下载个HTML5WebView,这个是扩展WebView的,要2.2版本以上支持。
------解决方案--------------------
写过类似的,好像只有极个别的手机可以,那次试的只有一部htc的,系统2.2的可以播放,其他的那几款手机都不行,建议下载一个rockplayer,程序调用这个播放器效果比较好,支持的视频格式也比较多
------解决方案--------------------
这样可能 就是webview设置的权限问题了 你看看源码里的是怎么设置的 要不要试着PluginState.ON ?
我当初做一个html5 播放 是优酷的那种普通视频 直接像ipad 那样全屏播放,不过有一些机器不支持 用到的方法也和你的不一样;
  相关解决方案