2010-01-13 1 views
41

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

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

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

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

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

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

+0

Существует хороший учебник [здесь] (http://innovator.samsungmobile.com/cms/cnts/knowledge.detail.view.do?platformId=1&cntsId=9540), который поможет вам шаг за шагом и содержит список известных вопросы и ограничения –

+0

@MosheKravchik - ссылка больше не работает. Любое обновление? – JohnnyLambada

+0

@Sam Dutton: Вы можете воспроизводить видео постепенно (параллельная загрузка и воспроизведение)? Чтобы проверить, работает ли прогрессивная потоковая передача с видео, я загружаю половину видео и воспроизвожу загруженное полу видео, но этот подход говорит о той же ошибке, что и ваша **, не может воспроизводить это видео **. Итак, как мы можем непрерывно транслировать видео в андроид без использования VideoView ** setVideoURI ** или ** setVideoPath **? –

ответ

19

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

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

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

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

ли кто-то есть пример URL для видео, которое может быть потоковым к Android эмулятор, используя код VideoViewDemo?

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

EDIT: На самом деле эта ссылка работает и с Nexus One.

+0

На следующей странице несколько файлов mp4 можно использовать в качестве тестовых URI для потоковой передачи Android-видео: http://people.sc.fsu.edu/~jburkardt/data/mp4/mp4.html –

+1

можете ли вы дать мне URL-адрес для воспроизведения прогрессивная загрузка. В вашей ссылке я не могу найти URL-адрес. – Sameer

+0

Я закодировал файл для потоковой передачи с URL-адреса. Проверьте мой ответ на http://stackoverflow.com/questions/2592816/auto-launch-the-video-player-in-android-from-the-browser-like-an-iphone-does/2593846#2593846 – hnviet

2

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

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

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

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

+1

Я следил за этот блог и работает только для аудиофайлов. Это не работает для видеофайла. Чтобы проверить, работает ли прогрессивная потоковая передача, или нет, я написал пример программы, в которой он будет загружать только половину видео и начать воспроизведение частично загруженного видеофайла, он дает сообщение об ошибке, говорящее, что ** не может воспроизводить это видео **. –

+1

То же самое здесь. Усталость, я думаю. –

+0

Ссылка на blog.pocketjourney.com устарела – mmaitlen

-4

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); 
} 

Или Click here to watch Android Video Streaming Tutorial.

+0

VideoView может поддерживать больше форматов - http://developer.android.com/guide/appendix/media-formats.html –

Смежные вопросы