Closed. This question needs to be more focused。它当前不接受答案。












想要改善这个问题吗?更新问题,使它仅关注editing this post的一个问题。

5年前关闭。



Improve this question




我最近遇到麻烦了。

我想开发一个嵌入了实时流的Android App,但我只是不知道如何开始。
我尝试使用嵌入了livestreaming标签的Webview,但是它不起作用(很可能是通过Flash提供流的)。
我也尝试使用VideoView组件,但是它也没有用。

我知道这是可能的,因为那些发布者拥有自己的APP,但是我们提供的格式通常是Flash。不是移动友好格式。

有人可以告诉我有关如何开始的任何想法或是否有解决方法吗?

提前致谢!

编辑:

我想做的是,例如,以这个流为例:
http://new.livestream.com/ATP/lexington2014court1
并显示在我的APP中。

最佳答案

我想我做到了!

首先,我确实使用的是livestream.com上的流,但是现在,它们没有实际版本的公共(public)API,但是....
我从这里得到了很多帮助:
new.livestream.com API to get RTSP

因此,有此API调用
http://new.livestream.com/api/accounts/[account_id]/events/[event_id]/viewing_info

返回我们的JSON。然后,我将“rtsp_url”值放入我的VideoURI中。

所以这是我的代码:
请用下面获取的JSON中的“rtsp_url”的值替换下面代码中的“{VIDEO_RTSP_URL}”。

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之类的流媒体服务,则它们可能会通过API为您提供类似RTSP_URL的内容。您可能只需要使用它。

10-08 17:23