Воспроизведение мультимедиа (видео) из сетевого потока (http) напрямую

Я хотел бы воспроизводить мультимедиа (видео) напрямую из сетевого потока (http), поэтому мне нужно как-то кормить Android MediaPlayer данными.

У меня есть FileOutputStream outstream = new FileOutputStream (outputfile); который я записываю в выходной файл с помощью outstream.write (buffer, 0, count);

Есть ли какой-нибудь API, который принимает поток в качестве входных данных .... ??? .... Помогите, пожалуйста ...


person aTJ    schedule 23.02.2011    source источник


Ответы (1)


Android поддерживает прогрессивную загрузку и HTTP Live Streaming (только в версии 3.0), и оба они работают через HTTP.

Вы можете использовать VideoView или Mediaplayer для использования прогрессивной загрузки и воспроизведения видео: см. это обсуждение.

Кроме того, если ваш сервер доставляет сегментированные файлы (.ts) в соответствии с Черновик Apple Http Live Streaming IETF, вы можете напрямую указать URL-адрес MediaPlayer и воспроизвести видео, используя SurfaceView. Примечание: вам нужно будет заменить «http» на «httplive:» в своем URL-адресе.

person Samuh    schedule 23.02.2011
comment
На данный момент мой сервер - Youtube. И я вижу, что медиаплеер принимает входные аудиопотоки. Но, в случае с видеопотоком, что можно сделать ?? - person aTJ; 23.02.2011
comment
Попробуйте передать URL-адрес непосредственно в VideoView или Mediaplayer и посмотрите, что произойдет. - person Samuh; 23.02.2011
comment
Да .... это то, что я сейчас пытаюсь, но разрешение файла меняется, когда мы даем его для загрузки. Сообщу результат ... - person aTJ; 24.02.2011
comment
Другая проблема в MediaPlayer .... Я реализовал OnBufferingUpdateListener, но MediaPlayer не вызывает onBufferingUpdate. Я дал mediaPlayer.setOnBufferingUpdateListener (this); .... Но он все еще не обновляется .... Любая идея !! - person aTJ; 24.02.2011