Saya mencoba memutar video YouTube di WebView, WebView menampilkan tampilan pertama video dengan tombol putar, Tetapi setelah mengklik tombol putar mulai bilah kemajuan dan setelah 2-3 detik menghentikan bilah kemajuan dan layar kosong dengan warna hitam.
Gambar1: Tampilan pertama video dengan tombol putar
Gambar2: Setelah klik tombol putar, layar menjadi kosong.
Tolong! bantu saya mengapa video tidak dimulai.
GAMBAR:1
GAMBAR:2
Ini adalah kode sumber saya untuk memutar YouTubeVideo di webview .. Tolong bantu saya...
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView wv = (WebView) findViewById(R.id.webView1);
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setPluginsEnabled(true);
final String mimeType = "text/html";
final String encoding = "UTF-8";
String html = getHTML();
wv.loadDataWithBaseURL("", html, mimeType, encoding, "");
}
public String getHTML() {
String html = "<iframe class=\"youtube-player\" style=\"border: 0; width: 100%; height: 95%; padding:0px; margin:0px\" id=\"ytplayer\" type=\"text/html\" src=\"http://www.youtube.com/embed/"
+ "J2fB5XWj6IE"
+ "?fs=0\" frameborder=\"0\">\n"
+ "</iframe>\n";
return html;
}
Tambahkan baris-baris ini sebelum memuat konten HTML ke WebView Anda.
wv.setWebChromeClient(new WebChromeClient() {
});
Dari dokumentasi:
Untuk mendukung video HTML5 sebaris dalam aplikasi Anda, Anda harus mengaktifkan akselerasi perangkat keras, dan mengatur WebChromeClient. Untuk dukungan layar penuh, implementasi onShowCustomView(View, WebChromeClient.CustomViewCallback) dan onHideCustomView() diperlukan, getVideoLoadingProgressView() bersifat opsional.
Ada beberapa masalah dengan video youtbe yang dialirkan di perangkat seluler. Jika Anda langsung mencoba memuat URL dalam tampilan web dan menjalankannya maka video tidak akan diputar. Salah satu cara yang sulit untuk memecahkan masalah ini adalah dengan melakukan streaming video dalam tampilan video. Saya belum mencobanya tetapi ini bisa dilakukan. Cara lain untuk memutar video youtube, saya akan menyebutnya cara yang lebih mudah adalah dengan mengubah agen pengguna di pengaturan tampilan web dari perangkat seluler ke desktop. User agent menunjukkan jenis perangkat di mana video youtube akan berjalan dan sesuai dengan jenis halaman web yang dikirim oleh server. Dengan cara ini video youtube dapat dialirkan dan diputar. Berikut ini adalah bagaimana Anda dapat melakukan ini:
public static final int USER_MOBILE = 0;
public static final int USER_DESKTOP = 1;
wv.getSettings().setUserAgent(USER_DESKTOP); // 1 is for the desktop
Mengapa Anda ingin memutar video tabung Anda di webview? Anda dapat memutarnya dengan menggunakan maksud ini
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(stringUrl)));
Jika tidak, jika Anda ingin memutarnya di webView, ikuti tautan ini
https://stackoverflow.com/questions/9565533/android-how-to-play-youtube-video-in-webview?rq=1