我在我的应用程序中使用Youtube Api,但我的问题是它不是自动播放,必须按播放按钮.
我的代码是:
setContentView(R.layout.playerview_demo);
((YouTubePlayerView)findViewById(R.id.youtube_view)).initialize(DEV_KEY, this);
Run Code Online (Sandbox Code Playgroud)
youtube_view布局:
<com.google.android.youtube.player.YouTubePlayerView
android:id="@id/youtube_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud) 我想使用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的原始质量的视频.这就是我使用的原因 …
我开发了一个应用程序,用户可以在网页上设置视频: - 他们可以指定Youtube URL或 - 他们可以上传视频
根据用户选择的选项,我会像这样呈现视频页面:如果视频来自youtube:
<iframe type="text/html" width="640" height="385" src="http://www.youtube.com/embed/YOUTUBEID?autoplay=1&loop=1&autohide=1&fs=0" frameborder="0"></iframe>
Run Code Online (Sandbox Code Playgroud)
如果正在上传视频:
<video id="video" style="cursor: pointer;" width="640" height="480" autoplay controls loop>
<source src="../video/Tareas_Diarias_Resumen.mp4" type="video/mp4" />
</video>
Run Code Online (Sandbox Code Playgroud)
好.所有这一切在谷歌浏览器上都很完美,但事实是该视频将在16款三星GT-P5100 Android 4.03平板电脑上观看.
我们创建了一个嵌入webView的Android应用程序:
WebView engine = (WebView) findViewById(R.id.web_engine);
engine.setWebChromeClient(new WebChromeClient());
engine.getSettings().setPluginsEnabled(true);
engine.getSettings().setPluginState(PluginState.ON);
engine.getSettings().setJavaScriptEnabled(true);
engine.getSettings().setAllowFileAccess(true);
engine.loadUrl(miUrl);
Run Code Online (Sandbox Code Playgroud)
在这里,我有两个问题:1- Youtube视频.它工作正常,我可以看到视频,但没有自动播放,我们希望它与自动播放一起使用.有解决方案吗 2-上传的视频不起作用,我可以看到播放器,但没有视频.
视频通过手刹转换,选择iphone和ipod-touch预设和"Web优化"选项.
任何帮助或线索?提前致谢
我无法自动播放我的视频,请提供帮助。我的SDK版本
android:minSdkVersion="14"
android:targetSdkVersion="19" />
Run Code Online (Sandbox Code Playgroud)
我试图将Java脚本放入代码中指定的位置:
public void onPageFinished(WebView view, String url) { webView.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()"); }
});
Run Code Online (Sandbox Code Playgroud)
我也尝试在URL中附加自动播放功能,但不起作用
//webView.loadUrl("http://youtube.com/embed/oY2OxMpCUVY?autoplay=1");
我的网络设置
customViewContainer = (FrameLayout)rootView.findViewById(R.id.customViewContainer);
webView = (WebView) rootView.findViewById(R.id.HelpView_Video);
final GlobleClass globalVariable = (GlobleClass) GlobleClass.getContext();
mWebViewClient = new HelpWebViewClient();
webView.setWebViewClient(mWebViewClient);
mWebChromeClient = new myWebChromeClient();
webView.setWebChromeClient(mWebChromeClient);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setPluginState(PluginState.ON);
webView.setWebViewClient(new WebViewClient() {
// autoplay when finished loading via javascript injection
public void onPageFinished(WebView view, String url) { webView.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()"); }
});
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
// webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
// } …Run Code Online (Sandbox Code Playgroud)