Intereting Posts
RecyclerView внутри ScrollView / NestedScrollView не прокручивается правильно Существуют ли какие-либо официальные API / Образцы / Учебники для внедрения новых руководств по материальному дизайну? Как установить Java Doc для google drive api для android в Eclipse Размер видео для Android для высокого и среднего разрешения? Android: поиск из большого массива Заменить определенный цвет в растровом изображении прозрачностью ErrnoException: isConnected failed: EHOSTUNREACH (без маршрута к хосту) при изменении сети Wi-Fi с использованием ICS Android-7.0: EditText неправильный actionId в редакторе actionlistener Android ExceptionInInitializerError Causeed Невозможно определить типы записей в то время как новый HSSFWorkbook (inputStream) ANR Входная диспетчеризация на Android 4.4 Рекомендации по экспорту нескольких таблиц с использованием поставщиков контента на Android Потоковая передача в реальном времени через RTP на клиенте Android Как сделать linearLayout частично прозрачным в Android? Предотвратить отключение мягкой клавиатуры Как я могу получить значение счетчика webkit-column-count и текущую страницу или идентификатор столбца?

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

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

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 .