Потоковое видео с видео

Мой код ниже для потокового видео:

VideoView vv = (VideoView)this.findViewById(R.id.screen_video); Uri uri = Uri.parse(URL); vv.setVideoURI(uri); vv.start(); 

Оно работает. Но если формат URL-адреса не поддерживается телефоном или пэдом Android. Он показывает диалог, а не показывает экран. Но он все еще струится с черным экраном. Я хочу получить сообщение об ошибке и получить доступ как исключение. Но я не знаю, как это получить?

Другая проблема заключается в том, что потоковая передача может вызвать сбои при использовании низкоскоростного Wi-Fi. Как проверить его на ожидание низкой скорости Wi-Fi?

Попробуйте этот код, он работает,

 public class PlayVideo extends Activity { private String videoPath ="url"; private static ProgressDialog progressDialog; String videourl; VideoView videoView ; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.play_video); videoView = (VideoView) findViewById(R.id.videoView); progressDialog = ProgressDialog.show(PlayVideo.this, "", "Buffering video...", true); progressDialog.setCancelable(true); PlayVideo(); } private void PlayVideo() { try { getWindow().setFormat(PixelFormat.TRANSLUCENT); MediaController mediaController = new MediaController(PlayVideo.this); mediaController.setAnchorView(videoView); Uri video = Uri.parse(videoPath ); videoView.setMediaController(mediaController); videoView.setVideoURI(video); videoView.requestFocus(); videoView.setOnPreparedListener(new OnPreparedListener() { public void onPrepared(MediaPlayer mp) { progressDialog.dismiss(); videoView.start(); } }); } catch(Exception e) { progressDialog.dismiss(); System.out.println("Video Play Error :"+e.toString()); finish(); } } } 

Это зависит от того, на какую версию Android вы разрабатываете свое приложение. Существуют определенные устройства, которые не поддерживают запуск файла .mp4. Для получения дополнительной информации обратитесь в службу поддержки Android Media . Проверьте, можете ли вы играть в любые файлы .3gp или нет.

Вы не должны воспроизводить видео сразу. Добавьте OnPrepared прослушиватель в видеоролик и запустите воспроизведение видео после него. С MediaPlayer вы можете отслеживать состояние буферизации и некоторое время останавливать видео, пока он еще не загружен. Пожалуйста, ознакомьтесь с этим руководством.

Попробуйте намерение избежать этой ошибки. Или положить try catch в ваш блок. VideoView может воспроизводить только видеоролики Stream 3gp, но я рекомендую этот код транслировать ваше видео

 public void onCreate(Bundle savedInstanceState){ setContentView(R.layout.main); String videourl = "http://something.com/blah.mp4"; Uri uri = Uri.parse(videourl); Intent intent = new Intent(Intent.ACTION_VIEW, uri); intent.setDataAndType(uri, "video/mp4"); startActivity(intent); } 

Или нажмите здесь, чтобы посмотреть учебник по потоковому видео для Android .

Intereting Posts
Android SDK поддерживает установку установленных SDK Переход от общего элемента и Fresco не работают должным образом Создание приложения в Android-источнике компилируется в систему / приложение вместо данных / приложений? Как изменить ширину пальца SwitchCompat Тень CardView не появляется в Lollipop после обфускации с помощью proguard Индекс таблицы строк в TableLayout Первый вид сверху / перекрытие второго в LinearLayout Как добавить пользовательский атрибут (ник) в свой тег сообщения XMPP, в Smack 4.1 Исключение: не удается запустить асинхронную операцию (обновить инвентарь), поскольку выполняется другая операция async (launchPurchaseFlow) Google, публикация обновления приложения, выпуск с помощью «Нативных платформ», Как подключить SSL-сокет через HTTP-прокси? Когда нужно обнаружить завершение работы приложения? Kotlin – Как решить между «lateinit» и «nullable variable»? Действия Android, которые переопределяемые функции должны вызывать супер. * Android emulator sd card "Ваша SD-карта заполнена"