我正在尝试在我的应用程序中播放来自 Vimeo 的视频。问题在于,在 Android 6 设备上,视频会在一段时间后停止播放。在 API 较低的设备上,一切正常。
- 时间取决于质量。对于下面提供的 url 的视频播放一定分钟 (1 到 3)。视频质量有多低,它会持续播放多长时间。
- 1 到 3 分钟后,媒体播放器会抛出 ProtocolException。该应用程序不会因此而崩溃,但在播放缓冲的视频片段时视频会冻结。
[MediaHTTPConnection] readAt 25182208 / 32768 => java.net.ProtocolException: unexpected end of stream and shows this in de log
- 异常后视频播放 30 秒(缓冲),然后应用程序输出此
[MediaPlayer] error (1, -1004)
我们已经向 Vimeo 支持部门发送了数周的电子邮件,但他们无法提供解决方案或可能的原因。现在经过数周的邮寄,支持台说他们不支持 Android,但我们已经尝试了他们的建议:
- 使用重定向和未重定向的 url
使用视频视图而不是媒体播放器
我们尝试了原生 Android 和 Xamarin Android 实现
尝试下载文件 => 这可行,但我们想要流式传输,因为某些视频的长度超过 30 分钟(>100mb)。取消注释 DownLoadActivity 中 onCreate 中的代码以测试下载。
在浏览器中一切正常。
我在 We-Transfer 上放置了一个测试项目,您可以在其中看到问题https://bazookas.wetransfer.com/downloads/40dadcc8a01f7ebf025345cdf88b731220170102160508/21970a