youtube视频无法在android webview中运行

时间:2013-10-15 09:03:40

标签: android video webview youtube

我想在android webview中播放YouTube视频..以下是我做过的事情

VideoWebview.java:

String URL = "http://www.youtube.com/results";

WebSettings settings = volWebview.getSettings();

settings.setPluginState(PluginState.ON);

settings.setJavaScriptEnabled(true);

volWebview.setWebViewClient(new WebViewClient());   

volWebview.setInitialScale(1);

volWebview.setWebChromeClient(new WebChromeClient());

settings.setLoadWithOverviewMode(true);

settings.setUseWideViewPort(true);

volWebview.loadUrl(URL);

webview_file.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <WebView
        android:id="@+id/web_webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

我已将android:hardwareAccelerated="true"添加到清单文件

网址正在加载..但是当试图播放视频时,它没有播放。 任何有关相同的帮助将受到高度赞赏.. 谢谢..

2 个答案:

答案 0 :(得分:0)

确保您已在清单文件中设置了互联网权限

  <uses-permission android:name="android.permission.INTERNET" />

答案 1 :(得分:0)

代替webview使用VideoView,这对我有用,请看这个

Activity.java

   private VideoView myVideoView;

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.videoplay);

     videoplay();

 }
   private void videoplay() {   

    myVideoView = (VideoView) findViewById(R.id.myvideoview);    
    myVideoView.setVideoPath(DATA_PATH); // this is url path
    myVideoView.setMediaController(new MediaController(this));
    myVideoView.requestFocus();      

}

videoplay.xml

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<VideoView
    android:id="@+id/myvideoview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true" />

</RelativeLayout>