繁体   English   中英

VideoView在开始播放多播流时会延迟(有时)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM