gpt4 book ai didi

java - 开始播放多播流时 VideoView 延迟(只是有时)

转载 作者:行者123 更新时间:2023-12-02 05:36:28 25 4
gpt4 key购买 nike

我有一个简单的 Android 应用程序,其中包含一个用于加载我的 Web_Based 应用程序的 WebView 和一个用于播放视频(使用 HTTP 协议(protocol))和多播流(使用 UDP 协议(protocol)的直播电视)的 VideoView。

基于 Web 的应用程序、视频服务器和直播电视服务器位于本地服务器 (Ubuntu 12.04) 中,因此我的 Android 应用程序通过以太网电缆(不是通过互联网)在本地连接到它们。

此外,我的 Android 设备是 Android 版本 6 的机顶盒。

Android 应用程序的开发目的是在启动时只需单击按钮即可播放视频或直播电视。但问题是,有时,当我打开 STB(并立即启动 Android 应用程序)时,会出现延迟约 30 秒才能启动直播电视。视频根本不会出现此问题。

直播电视流的示例为 udp://239.0.0.1:1234
视频网址示例为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;
}
});
}
});

最佳答案

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

关于java - 开始播放多播流时 VideoView 延迟(只是有时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56162787/

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