[英]VideoView delays when starting to play a Multicast stream (just sometimes)
我有一个简单的Android应用程序,它包含一个WebView来加载我的Web_Based应用程序和一个VideoView来播放视频(使用HTTP协议)和多播流(使用UDP协议的直播电视)。
Web_Based应用程序,视频服务器和Live TV服务器位于本地服务器(Ubuntu 12.04)中,因此我的Android应用程序通过以太网电缆(不通过Internet)在本地连接到它们。
我的Android设备也是Android版本6的机顶盒。
Android应用程序开发时只需点击一个按钮即可启动视频或直播电视。但问题是,有时候,当我打开STB(并立即启动Android应用程序)时,会有延迟大约30秒开始直播电视。 视频根本不会发生此问题。
直播电视节目的样本是udp://239.0.0.1:1234
视频网址的示例是http://192.168.200.235/test.mp4
//这是我播放UDP Stream的主要功能
PlayerActivity.videoView.stopPlayback();
final Uri video = Uri.parse("udp://"+url.replaceAll("\\s+",""));
PlayerActivity.getInstance().runOnUiThread(new Runnable() {
@Override
public void run() {
PlayerActivity.videoView.setVisibility(View.GONE);
PlayerActivity.videoView.setVisibility(View.VISIBLE);
PlayerActivity.videoView.setVideoURI(video);
PlayerActivity.videoView.start();
PlayerActivity.videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.e("ERROR LOG FOR UDP STREAM",":( I don't get any error here !");
return false;
}
});
}
});
虽然Android可以播放UDP流,但它不是为此而构建的。 因此,最好使用HSL或RTMP协议进行实时流播放,也可以使用视频文件。您可以使用HLS。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.