gpt4 book ai didi

android - Vimeo 视频停止在 Android 6 设备上播放

转载 作者:IT老高 更新时间:2023-10-28 23:35:35 26 4
gpt4 key购买 nike

我正在尝试在我的应用中播放来自 Vimeo 的视频。问题在于,在 Android 6 设备上,视频会在一段时间后停止播放。在 API 较低的设备上一切正常。

  • 时间取决于质量。对于下面提供的 url 的视频播放一定分钟 (1 到 3)。视频质量有多低,播放时间有多长。
  • 1 到 3 分钟后,媒体播放器会引发 ProtocolException。该应用程序不会因此而崩溃,但在播放缓冲的视频 fragment 时视频会卡住。 [MediaHTTPConnection] readAt 25182208/32768 => java.net.ProtocolException: 流意外结束并在 de log 中显示
  • 异常后视频播放 30 秒(缓冲),然后应用程序输出此 [MediaPlayer] 错误 (1, -1004)

我们已经向 Vimeo 支持部门发送了数周的电子邮件,但他们无法提供解决方案或可能的原因。现在,经过数周的邮寄,支持台说他们不支持 Android,但我们已经尝试了他们的建议:

  • 使用重定向和未重定向的网址

http://player.vimeo.com/external/185069251.hd.mp4?s=fd7b4178a59166b3f636f2e48f1d49b99db66ed2&profile_id=174 [重定向网址]

https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/01/2013/7/185069251/610514667.mp4?token=586a9287_0xbb25f73405c612b30e0c64dc4c3a169e30137f84 [未重定向 URL]

  • 使用视频 View 而不是媒体播放器

  • 我们已经尝试了原生 Android 和 Xamarin Android 实现

  • 尝试下载文件 => 这可行,但我们想要流式传输,因为某些视频的长度超过 30 分钟 (>100mb)。取消注释DownLoadActivity中onCreate中的代码以测试下载。

在浏览器中一切正常。

我在 We-Transfer 上放置了一个测试项目,您可以在其中看到问题 https://bazookas.wetransfer.com/downloads/40dadcc8a01f7ebf025345cdf88b731220170102160508/21970a

最佳答案

嗨,在我的应用程序中,我也在使用 Vimeo,但以另一种方式。它在任何操作系统中都可以正常工作。 (适用于原生 Android)

 webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.i("", "Processing webview url click...");
view.loadUrl(url);
return true;
}

public void onPageFinished(WebView view, String url) {
Log.i("", "Finished loading URL: " + url);
Const.disMisProgressdialog();
}


@Override
public void onLoadResource(WebView view, String url) {
super.onLoadResource(view, url);
}
});

if(windowwidth < 480) {
webView.loadUrl("https://player.vimeo.com/video/<YOUR VEMIO ID>?player_id=player&autoplay=1&title=0&byline=0&portrait=0&api=1&maxheight=320&maxwidth=480");
}else{
webView.loadUrl("https://player.vimeo.com/video/<YOUR VEMIO ID>?player_id=player&autoplay=1&title=0&byline=0&portrait=0&api=1&maxheight=480&maxwidth=800");
}

windowwidth :-
int windowwidth = getWindowManager().getDefaultDisplay().getWidth();
int windowheight = getWindowManager().getDefaultDisplay().getHeight();

关于android - Vimeo 视频停止在 Android 6 设备上播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41430007/

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