在我的Android应用程序中,我有一个WebView来显示我们网站的HTML数据.有时页面会有youtube嵌入对象.这在应用程序中没有正确显示.有没有办法在WebView中显示/播放YouTube视频?谢谢.
我想使用iframe将youtube视频加载到Android webview
这是我的布局Xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
android:id="@+id/mainLayout">
<WebView
android:background="@android:color/white"
android:id="@+id/webView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我的代码是:
public class WebTube extends Activity {
private WebView wv;
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/WBYnk3zR0os"
+ "?fs=0\" frameborder=\"0\">\n"
+ "</iframe>";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wv = (WebView)findViewById(R.id.webView);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadDataWithBaseURL("", html , "text/html", "UTF-8", "");
}
}
Run Code Online (Sandbox Code Playgroud)
我也提供 <uses-permission android:name="android.permission.INTERNET"/>
& android:hardwareAccelerated="true"
当我运行这个时,我没有得到任何结果它只是显示黑屏
我试过这个.但是这给我提供了视频.3gp Quality.但是我需要来自youtube的原始质量的视频.这就是我使用的原因 …
我是android的新手.我现在面临两个问题 1.我解析了xml文件并在webview中显示它,其中包含视频和文本.当我点击视频时,它将无法播放.在xml视频中有youtube嵌入.
为什么会这样?
1.第一个问题:代码和图像
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.web_view);
Intent intent=getIntent();
String urlsting=intent.getStringExtra("str");
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginState(PluginState.ON);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.setInitialScale(100);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.loadDataWithBaseURL(null, urlsting,"text/html", "utf-8", null);
}
Run Code Online (Sandbox Code Playgroud)
当我浏览视频时,它开始浏览并只显示黑屏,然后什么都不会发生.
![] [1]
2. 我有你管的嵌入式视频网址,我用html标签给出并尝试加载它.它们也不适合我.我检查了一些问题和博客,也没有设置,然后也无法显示视频.将不胜感激.谢谢.
String video= "<table bgcolor=\"#666666\"><tr><td><iframe width=\"300\" height=\"260\" frameborder=\"0\" id=\"player\" type=\"text/html\"src=\"http://www.youtube.com/embed/iiLepwjBhZE?enablejsapi=1&origin=example.com\"></iframe></td></tr><tr><td><iframe width=\"300\" height=\"260\" frameborder=\"0\" id=\"player\" type=\"text/html\"src=\"http://www.youtube.com/embed/lBMMTeuJ_UQ?enablejsapi=1&origin=example.com\"></iframe></td></tr><tr><td><iframe width=\"300\" height=\"260\" frameborder=\"0\" id=\"player\" type=\"text/html\"src=\"http://www.youtube.com/embed/BZMkY3y7nM0?enablejsapi=1&origin=example.com\"></iframe></td></tr><tr><td></table>";
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginState(PluginState.ON);
mWebView.getSettings().setPluginsEnabled(true);
//mWebView.loadDataWithBaseURL(null,load,"text/html","UTF-8",null);
mWebView.loadData(video,"text/html","UTF-8");
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我将youtube embeded视频加载到webview,但它们也无法正常工作.
![] [2]
我正在使用android 2.3.3version.我也想要澄清,有任何要求在模拟器上安装adobe flash player,但我认为不,因为视频在浏览器中工作.任何人都可以告诉我是对还是错?请尽量给我解决方案因为我很久以前就遇到了这个问题..
我也尝试使用object标签如下:
String obj="<object width=\"300\" height=\"260\"><param name=\"movie\" value=\"http://www.youtube.com/embed/iiLepwjBhZE?enablejsapi=1&origin=example.com\"?version=3&hl=pt_BR&rel=0\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param …Run Code Online (Sandbox Code Playgroud) 我正在开发一个使用WebView(在片段中)加载 YouTube 页面的应用程序。但是页面只播放音频,不播放视频。奇怪的是,点击HOME键后点击桌面上的图标返回应用程序,视频播放正常。除此之外,没有视频只有音频。该应用程序在普通 Android 设备上运行良好,此BUG仅发生在 Kindle Fire 平板设备上。
硬件加速开启。
这是WebView设置:
WebSettings webSettings = this.webView.getSettings();
webSettings.setJavaScriptEnabled(true);
this.webView.setOverScrollMode(WebView.OVER_SCROLL_IF_CONTENT_SCROLLS);
this.webView.setWebViewClient(this.webViewClient);
this.webView.setWebChromeClient(this.webView.getWebChromeClient());
webView.setLayerType(WebView.LAYER_TYPE_HARDWARE, null);
Run Code Online (Sandbox Code Playgroud) 我正在尝试将YouTube视频嵌入到我的react-native应用程序中,它可以正常工作,但是我无法获得这些视频的全屏按钮/功能。这是我的代码
<WebView
source={{uri: "https://www.youtube.com/embed/VaC9CivyV7I?version=3&enablejsapi=1&rel=0&autoplay=1&showinfo=0&controls=1&modestbranding=0"}}
style={{height:240, width:width, justifyContent:'center', alignItems:'center', backgroundColor:'black'}}
/>
Run Code Online (Sandbox Code Playgroud)
我什至尝试将iframe用作html allowfullscren="true",但没有成功。不知道该怎么做,所以请帮忙,
编辑
经过一番搜寻更有我碰到过这样的文件的全屏支持,并提出要知道,我需要实现onShowCustomView和onHideCustomView内webView.setWebChromeClient,我掏一点在我的应用程序的文件夹node_modules,发现ReactWebViewManager.java的位置”。 ./node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java“ ,似乎可能需要添加一些自定义代码webView.setWebChromeClient,但由于我不是在本机编程中表现出色,因此无法继续进行下去
YouTube视频无法在WebView中播放.
这是我的第一个应用程序,我想做一个webview.当我打开YouTube时,视频没有播放,正在加载但没有播放.正在加载所有时间.非常感谢你的帮助.
Java的:
public class MainActivity extends Activity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.google.com");
mWebView.setWebViewClient(new HelloWebViewClient());
}
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView webview, String url)
{
webview.loadUrl(url);
return true;
}}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack())
{
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
} }
Run Code Online (Sandbox Code Playgroud)
XML:
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" …Run Code Online (Sandbox Code Playgroud) 我正在制作RSS阅读器应用程序,我从URL获取RSS数据,RSS数据可以包含YouTube视频的链接.
以下是与youtube vide相关的链接示例:
div class="video-shortcode"><iframe title="YouTube video player" width="600"
height="350" src="http://www.youtube.com/embed/HXrcUyCVA6c"
frameborder="0" allowfullscreen></iframe></div>
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序时,没有视频,它全黑,我无法播放它.
我如何在WebView中播放视频?
编辑: 结果如下:

这是我的代码:
// set webview properties
WebSettings ws = desc.getSettings();
ws.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
ws.getPluginState();
ws.setPluginState(PluginState.ON);
ws.setJavaScriptEnabled(true);
ws.setUserAgent(0);
ws.setJavaScriptCanOpenWindowsAutomatically(true);
desc.setWebChromeClient(new WebChromeClient() {
});
desc.loadDataWithBaseURL("http://www.balkanandroid.com/", feed
.getItem(pos).getContent(), "text/html", "UTF-8", null);
Run Code Online (Sandbox Code Playgroud)
我的AndroidManifest.xml中有android:hardwareAccelerated ="true".
任何人都可以帮助使用此代码来获取嵌入在网站中的youtube视频吗?我已经尝试过各种各样的东西,包括在manifest中的hardwareAccelerated = true.
webview显示youtube页面和缩略图图像,但点击它们时没有任何反应.
在某些具有hardwareAccelerated的设备上,它播放声音但没有视频.感谢大家!
package com.inglesupdated;
import java.util.ArrayList;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Picture;
import android.net.Uri;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebView.PictureListener;
import android.widget.Button;
import android.widget.LinearLayout;
public class BT_screen_customURL extends BT_activity_base{
private boolean didCreate = false;
private WebView webView = null;
private String dataURL = "";
private String currentURL = "";
private String originalURL = "";
private …Run Code Online (Sandbox Code Playgroud)