Ответ 1
Думаю, я сделал это!
Прежде всего, я действительно использую поток из livestream.com, но прямо сейчас у них нет публичного API для реальной версии, но.... Я получил большую помощь отсюда: API new.livestream.com для получения RTSP
Итак, есть этот вызов API http://new.livestream.com/api/accounts/[account_id]/events/[event_id]/viewing_info
которые возвращают нам JSON. Затем я беру значение "rtsp_url" и помещаю его в свой VideoURI.
Итак, вот он мой код: Пожалуйста, замените "{VIDEO_RTSP_URL}" в приведенном ниже коде со значением "rtsp_url" из полученного вами JSON.
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
VideoView videoView = (VideoView) findViewById(R.id.video);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
mediaController.setMediaPlayer(videoView);
Uri video = Uri.parse("{VIDEO_RTSP_URL}");
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.start();
}
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.fcl.videoplay.MainActivity" >
<VideoView
android:id="@+id/video"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" />
</RelativeLayout>
Теперь по какой-то причине потоковая передача не работает, когда я подключаюсь к Wi-Fi, но она работает, когда я нахожусь в 3G (я тестирую на реальном устройстве, а не эмулятор), но это еще одна тема
В целом, если вы используете потоковое сервис, например Livestream.com, они могут предоставить вам что-то вроде этого RTSP_URL через API. Вам, вероятно, просто нужно будет его использовать.