Потоковое видео и Android - PullRequest
       8

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

27 голосов
/ 17 ноября 2010

Сегодня для одного из моих приложений (Android 2.1) я хотел транслировать видео с URL.

Насколько я изучал Android SDK, это довольно хорошо, и я любил почти каждую его часть. Но теперь, когда дело доходит до видеопотока, я немного растерялся.

Для получения любой необходимой вам информации об Android SDK у вас есть тысячи блогов, рассказывающих, как это сделать. Когда дело доходит до потокового видео, это другое. Информации так много.

Все это делали, это обманчиво тут и там.

Есть ли какая-нибудь известная процедура, позволяющая передавать потоковое видео?

Думал ли Google о том, чтобы облегчить его разработчикам?

1 Ответ

35 голосов
/ 17 ноября 2010

Если вы хотите, чтобы ОС воспроизводила видео с помощью проигрывателя по умолчанию, вы должны использовать намерение, подобное этому:

String videoUrl = "insert url to video here";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(videoUrl));
startActivity(i);

Однако, если вы хотите создать собственное представление и транслировать на него видео, один из подходов - создать видеовид в вашем макете и использовать медиаплеер для потоковой передачи видео на него. Вот видеовид в xml:

<VideoView android:id="@+id/your_video_view"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
/>

Затем в onCreate своей деятельности вы найдете вид и запустите медиаплеер.

    VideoView videoView = (VideoView)findViewById(R.id.your_video_view);
    MediaController mc = new MediaController(this);
    videoView.setMediaController(mc);

    String str = "the url to your video";
    Uri uri = Uri.parse(str);

    videoView.setVideoURI(uri);

    videoView.requestFocus();
    videoView.start();

Проверьте слушателей videoview для получения уведомления, когда видео закончено воспроизведение или происходит ошибка (VideoView.setOnCompletionListener, VideoView.setOnErrorListener и т. Д.).

...