我有一個簡單的 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條經驗 獲得超13個贊
雖然 Android 可以播放 UDP 流,但它不是為此而構建的。因此,最好使用 HSL 或 RTMP 協議進行直播流播放,視頻文件也可以使用 HLS。
添加回答
舉報
0/150
提交
取消