У меня есть простое приложение для Android, которое содержит WebView для загрузки моего приложения на базе Web_ и VideoView для воспроизведения видео (с использованием протокола HTTP) и Multicast Stream (Live TV с использованием протокола UDP).
Приложение Web_Based, видеосервер и сервер Live TV находятся на локальном сервере (Ubuntu 12.04), поэтому мое приложение Android подключено к ним локально с помощью кабеля Ethernet (не через Интернет).
Кроме того, моим Android-устройством является STB с Android версии 6.
Приложение Android разработано для воспроизведения видео или Live TV, когда оно запускается простым нажатием кнопки. Но проблема в том,что ТОЛЬКО НЕКОТОРЫЕ, когда я включаю STB (и мгновенно запускаю приложение Android), есть задержка примерно на 30 секунд для запуска Live TV.Эта проблема не происходит для видео вообще.
Пример потока Live TV: udp: //239.0.0.1: 1234
Пример URL-адреса видео: 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;
}
});
}
});