Использование VideoView для потоковой передачи или прогрессивного просмотра-скачать видео

StackOverflow https://stackoverflow.com/questions/2058945

  •  20-09-2019
  •  | 
  •  

Вопрос

Я в замешательстве по поводу того, как VideoView можно использовать для воспроизведения видео:из локального файла, как прогрессивная загрузка, так и потоковая передача.

Этот пример поработайте для меня (по крайней мере, на 1.5 и 2.0), загрузив файл и воспроизведя его локально.

Но обязательно ли скачивать видео перед воспроизведением:возможно ли воспроизводить видео при прогрессивной загрузке или потоковой передаче, просто используя setVideoPath или setVideoURI, как в VideoViewDemo в примерах API?

Код VideoViewDemo предлагает использовать setVideoURI для потоковой передачи, но я не совсем понимаю, какой URL я должен использовать.У кого-нибудь есть пример URL-адреса для видео, которое можно транслировать в эмулятор Android с помощью кода VideoViewDemo?

Можно ли использовать прогрессивную загрузку с VideoViewDemo?Я получаю сообщение "извините, это видео не может быть воспроизведено", используя setVideoPath с URL-адресами, которые отлично работают с примером блога, приведенным выше.(Это проблема в эмуляторе?Я пробовал 1.5 и 2.0.)

Я нашел много примеров и документации в Интернете, но пока ничего, что действительно отвечало бы на этот вопрос.

Это было полезно?

Решение

возможно ли воспроизводить видео в режиме прогрессивной загрузки или потоковой передачи просто используя setVideoPath или setVideoURI, как в VideoViewDemo в примерах API?

Так и должно быть.Это, безусловно, работает с MediaPlayer, и VideoView это всего лишь ~ 200-строчная оболочка вокруг MediaPlayer и еще SurfaceView.

Код VideoViewDemo предлагает использовать setVideoURI для потоковой передачи, но я не понимаю, какой URL я должен использовать.

http:// и rtsp:// может сработать, если видео было закодировано правильно.

Есть ли у кого-нибудь пример URL-адреса для видео, которое можно транслировать в Эмулятор Android с использованием кода VideoViewDemo?

Это видео работает с MediaPlayer, за исключением Nexus One.

Редактировать:На самом деле, эта ссылка работает и с Nexus One.

Другие советы

Это работает для простых случаев, но только тогда, когда не требуется делать какие-то специальные приготовления для запросов на получение потока.

В этом руководстве показан пример ручной эмуляции потоковой передачи аудио, но его можно немного переработать для воспроизведения видео:

http://blog.pocketjourney.com/2008/04/04/tutorial-custom-media-streaming-for-androids-mediaplayer/

(обязательно используйте FileDescriptor при настройке dataSource, API с тех пор немного изменился).

VideoView может транслировать только видео 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top