使用youtube视频嵌入webview

时间:2012-07-06 19:29:47

标签: android audio webview youtube playback

我正在尝试使用webview构建一个允许youtube播放的应用。 现在youtube的网站正在加载,我可以点击视频,但我能听到的只是它的声音,看不到任何东西。真的很感激这个问题的一些帮助。 该应用程序加载在三星galaxy s上。 sdk版本8。

import com.keyes.youtube.OpenYouTubePlayerActivity;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings.PluginState;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;

public class Youtube extends Activity {

private WebView mWebView;
private String extra;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);       

extra = getIntent().getStringExtra("VideosId");        
mWebView = (WebView) findViewById(R.id.webView1); 
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginState(PluginState.ON);
mWebView.getSettings().setLoadWithOverviewMode(true);// completely zoomed out
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getTouchables();



final Activity activity = this;
mWebView.setWebChromeClient(new WebChromeClient() {
  public void onProgressChanged(WebView view, int progress) {
    // Activities and WebViews measure progress with different scales.
    // The progress meter will automatically disappear when we reach 100%
    activity.setProgress(progress * 1000);
  }
});

mWebView.setWebViewClient(new ourViewClient());   


mWebView.loadUrl("http://www.youtube.com/watch?v=AIbHWcko0Mg&feature=g-all-bul");     
mWebView.setWebViewClient(new ourViewClient());      
}


@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
    mWebView.goBack();
    return true;
}
return super.onKeyDown(keyCode, event);
}
}

1 个答案:

答案 0 :(得分:4)

好的,所以它退出了悲伤,但没有人回答我的问题:( 但我自己设法解决了这个问题:

API应该至少为11(android 3.0)并且在应用程序定义的清单中应该使用以下代码:android:hardwareAccelerated =“true”。 享受!