gpt4 book ai didi

java - Youtube HTML5 视频在 Android 中停止运行

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:42:35 24 4
gpt4 key购买 nike

大约一周前,Youtube HTML5 视频不知何故对我不起作用。我不知道为什么。这是上周运行的代码(好吧,不是真正的代码,而是我能做的最小的例子):

public class VideoTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

WebView webView = new WebView(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setPluginState(PluginState.OFF);
webView.setWebChromeClient(new TestWebChromeClient());

setContentView(webView);

// Try with http://player.vimeo.com/video/24158845 and it works.
webView.loadUrl("http://www.youtube.com/embed/e2UIg3Ddfp0");
}

private class TestWebChromeClient extends WebChromeClient {
@Override
public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) {
super.onShowCustomView(view, callback);
VideoTestActivity.this.setContentView(view);
}
}
}

这在我的手机或模拟器上不起作用。疯狂的是 Vimeo 仍然很好用。我尝试设置一个 iPhone 用户代理,但这没有用,而且我没有想法。看起来 Youtube 真的改变了什么......

最佳答案

Youtube 可能更改了其嵌入式页面中的某些内容,这很可能导致 WebView 内部出现问题,这就是它不再工作的原因。

您是否还在与以前相同的设备上测试您的应用?

我不认为使用这个解决方案是一个好习惯,因为你不能相信你今天从 Youtube 显示的内容和它的工作,也将是相同的几天它仍然可以工作,就像你现在遇到的那样。我对 videosYoutube 内容也有类似的问题,它可以在一台设备上运行,而在其他一些设备上则根本无法运行。它也是一个Flash内容,很多Android设备没有Flash,将无法播放该内容。

一个解决方案是创建一个用于播放视频的Intent:

      Intent videoIntent=new Intent(Intent.ACTION_VIEW, 
Uri.parse("http://www.youtube.com/my_url"));
startActivity(videoIntent);

但我建议按照 Supported Media Formats 中的建议为 Android 编码视频。如果可能,将它们存储在您自己的服务器上。

编辑:他们确实改变了一些东西,因为那里有一个 js 错误。您可以使用 WebChromeClient 跟踪它们:

  mWebView.setWebChromeClient(new WebChromeClient(){
@Override
public void onConsoleMessage(String message, int lineNumber,
String sourceID) {
super.onConsoleMessage(message, lineNumber, sourceID);
Log.i("VIDEO VIEW",message);
}
}

这是我收到的消息错误:

TypeError: Result of expression 'a' [undefined] is not an object.line 78sourcehttp://www.youtube.com/embed/e2UIg3Ddfp0

不知道对你有没有帮助,待会儿再看看,看看能找到什么。

关于java - Youtube HTML5 视频在 Android 中停止运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7438656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com