2012-06-02 176 views
1

我有一个使用WebView显示网页的活动。在该页面中,有一个指向YouTube视频的链接(所以它不是我可以或不需要嵌入的视频)。WebView - 不在播放的YouTube视频

问题是视频不会播放 - 我可以通过点击图标看到视频预览图像,但点击它没有响应。有什么可以做的吗?

public class DisplayWebPage extends Activity 
{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.display_web_page); 

     Bundle extras = getIntent().getExtras(); 
     String url = extras.getString("url"); 
     WebView webview = (WebView)findViewById(R.id.WebView1); 

     webview.setWebViewClient(new WebViewClient()); 
     webview.getSettings().setJavaScriptEnabled(true); 
     webview.loadUrl(url); 
    } 
} 
+0

你也许可以使用嵌入代码这一点。 –

+0

检查我的答案在http://stackoverflow.com/questions/10208439/html5-video-doesnt-play-with-android/10209684#10209684给出的链接和使用svn下载源使用custome webview和哪些作品罚款 – Khan

回答

5
public class MyPdfViewActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    WebView mWebView=new WebView(MyPdfViewActivity.this); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.getSettings().setPluginsEnabled(true); 
    mWebView.loadUrl(youtube_link); 
    setContentView(mWebView); 
    } 
} 

更新:: 如果上述doent工作,然后尝试以下::

public class main extends Activity { 
    /** Called when the activity is first created. */ 
    @ Override 


    public void onCreate (Bundle savedInstanceState) { 
     super. onCreate (savedInstanceState); 



     setContentView (R.layout.main); 

     WebView web = (WebView) findViewById (R.id.webView); 
     web. getSettings().setJavaScriptEnabled (true); 
     web. getSettings().setJavaScriptCanOpenWindowsAutomatically (false); 
     web. getSettings().setPluginsEnabled (true); 
     web. getSettings().setSupportMultipleWindows (false); 
     web. getSettings().setSupportZoom (false); 
     web. setVerticalScrollBarEnabled (false); 
     web. setHorizontalScrollBarEnabled (false); 


     web. loadUrl ("THE URL TO YOUR WEBVIEW SITE SHOULD GO HERE"); 

     web. setWebViewClient (new WebViewClient() { 
      @ Override public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      if (url.startsWith("vnd.youtube")){ 

      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); 

      return true; 
      } 
      else 
      { 
      return false; 
      } 
      } 
     }); 
    } 

} 
+0

我认为第二个例子不相关,因为我没有直接打开YouTube网址。第一个帮助我意识到,我应该从我的代码中删除以下行:'webview.setWebViewClient(new WebViewClient());' - 一旦我这样做了,视频就工作了(在请求选择应该显示的内容它,这是我的罚款)。 – Amit