我正在开发一个应用程序,我想在具有 CardsViews 的片段中显示 youtube 视频,我的 cardviews 已经可以正常工作,问题是视频无法播放,我总是收到错误消息:
我在 WebView 中添加视频,并使用如下视频链接:http ://www.youtube.com/embed/ \"+yS_p_ICLUAw+\"?autoplay=1&vq=small
WebView配置如下:
holder.reproductor.loadUrl(tips.getEnlace());
holder.reproductor.getSettings().setJavaScriptEnabled(true);
holder.reproductor.setWebViewClient(new WebViewClient(){
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
});
holder.reproductor.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
}
@Override
public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
}
});
这是我在 WebView 中输入的 URL 显示的错误:
问题是由于视频网址的定义,这是错误的,因为它定义了错误的网址,
网址不应使用“
\
”,因为您会转义某些字符 (\"
),这是 youtube 视频网址的正确定义:,检查这个例子:
作为评论:我强烈建议您使用YouTube Android Player API
这是一个例子:
https://github.com/Jorgesys/Android-Youtube-API
我建议您使用 MediaPlayer 并将视频的 url 传递给它,而不是使用 webview,如下所示:
此外,如果您要在适配器中使用它,请尝试只使用 1 个 MediaPlayer,而不是每张卡一个,否则可能会导致问题。