Tôi đang sử dụng WebView để hiển thị video Youtube được nhúng và hoạt động trên Galaxcy S2 (OS 2.3.5) và không hoạt động trên Nexus S (OS 2.3.4), tất cả những gì tôi nhận được là màn hình trắng mà không có bất kỳ màn hình video nào.Nhúng video Youtube vào trong ứng dụng Android
Dưới đây là đoạn mã Tôi đang sử dụng và khai báo trong tập tin Manifest:
private WebView wv;
private void setWebView()
{
wv = (WebView) findViewById(R.id.webView);
wv.setWebChromeClient(new WebChromeClient());
wv.getSettings().setPluginState(WebSettings.PluginState.ON);
wv.setWebViewClient(new WebViewClient());
wv.getSettings();
wv.setBackgroundColor(0x00000000);
wv.setKeepScreenOn(true);
wv.setHorizontalScrollBarEnabled(false);
wv.setVerticalScrollBarEnabled(false);
wv.getSettings().setBuiltInZoomControls(true);
final String mimeType = "text/html";
final String encoding = "UTF-8";
String html = getHTML();
wv.loadDataWithBaseURL("", html, mimeType, encoding, "");
}
public String getHTML()
{
String html = "<html>"
+ "<head>"
+ "</head>"
+ "<body style=\"border: 0; padding: 0\">"
+ "<iframe "
+ "type=\"text/html\" "
+ "class=\"youtube-player\" "
+ "width= 100%\""
+ "\" "
+ "height= 95%\""
+ "\" "
+ "src=\"http://www.youtube.com/v/"
+ selected_video
+ "?controls=0&showinfo=0&showsearch=0&modestbranding=0" +
"&autoplay=1&fs=1&vq=hd720\" " + "frameborder=\"0\"></iframe>"
+ "</body>"
+ "</html>";
return html;
}
Lưu ý: tham số "selected_video" là băm của video (ID Video).
Các tờ khai trong tập tin Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=http://schemas.android.com/apk/res/android
.
.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application
.
.
android:hardwareAccelerated="true" >
.
.
Xin vui lòng cho tôi biết trong trường hợp bạn nhận ra bất cứ điều gì tôi nên thay đổi trong mã của tôi, hoặc giúp đỡ với một mã hoàn chỉnh mà có thể hỗ trợ tất cả các thiết bị Android và OS để hiển thị nhúng (Trong ứng dụng) Youtube video với chất lượng cao.
CẬP NHẬT: Chú ý, giải pháp tôi đang tìm kiếm sẽ hiển thị video có độ phân giải cao. Tôi đã làm việc trên các thiết bị khác nhau và hệ điều hành bằng cách sử dụng lớp VideoView nhưng chất lượng video không đủ tốt. Vì vậy, bất kỳ giải pháp bao gồm VideoView hoặc WebView hoặc bất kỳ cách nào khác sẽ chỉ được chấp nhận nếu nó làm cho video YouTube chất lượng cao được hiển thị. Cảm ơn tất cả những người phản hồi!
Tôi không chắc nhưng nó có thể là đèn flash prob, Flash được cài đặt trong Nexus S ??? http://stackoverflow.com/questions/5791035/what-does-install-flash-plugin-in-webview-mean – idan
Tôi có thể sử dụng các ứng dụng khác hoạt động tương tự trên Nexus S. Tôi không muốn flash là phải sử dụng ứng dụng ... – Idan
Tôi có nghĩa là tôi nghĩ rằng nó không hoạt động vì Youtube yêu cầu Flash, hãy kiểm tra xem các thiết bị có thể duyệt trang web YouTube và xem phim không? và cho tôi biết kết quả (không thử ứng dụng YouTube chỉ là trang web youtube) sử dụng ứng dụng maby ather, trình phát youtube android? https://developers.google.com/youtube/android/player/ – idan