为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

qq_花开花谢_0 2022-11-30 13:42:56
我有一个简单的 Android 应用程序,其中包含一个 WebView 来加载我的基于 Web_Based 的应用程序和一个 VideoView 来播放视频(使用 HTTP 协议)和多播流(使用 UDP 协议的直播电视)。基于 Web 的应用程序、视频服务器和直播电视服务器位于本地服务器(Ubuntu 12.04)中,因此我的 Android 应用程序通过以太网电缆(不是通过互联网)在本地连接到它们。我的 Android 设备也是 Android 版本 6 的机顶盒。Android 应用程序被开发为在启动时只需单击一个按钮即可播放视频或直播电视。但问题是,有时,当我打开机顶盒(并立即启动 Android 应用程序)时,会出现延迟约 30 秒即可开始直播电视。视频根本不会发生此问题。直播电视流的示例是 udp://239.0.0.1:1234视频 url 的示例是http://192.168.200.235/test.mp4// 这是我播放 UDP 流的主要功能的一部分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;            }        });    }});
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超12个赞

虽然 Android 可以播放 UDP 流,但它不是为此而构建的。因此,最好使用 HSL 或 RTMP 协议进行直播流播放,视频文件也可以使用 HLS。



查看完整回答
反对 回复 2022-11-30
  • 1 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信