【问题标题】:Create a Live Streaming APP for Android [closed]为 Android 创建一个实时流媒体应用程序 [关闭]
【发布时间】:2014-09-16 08:47:05
【问题描述】:

我最近很麻烦。

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

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

有人可以告诉我如何开始或是否有一些解决方法吗?

提前致谢!

编辑:

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

【问题讨论】:

  • 这类问题没有通用的解决方案。这取决于流。如果没有任何详细信息,您将不会收到任何有意义的答案。
  • 我想创建一个流媒体应用程序你需要熟悉 RTP、SIP 和相关的东西。看看这个问题stackoverflow.com/questions/7332532/…
  • 对不起...也许我不太清楚..我想做的就是,把这个流new.livestream.com/ATP/lexington2014court1 显示在我的应用程序中。
  • 来自该站点的视频stream 在当前的移动 Chrome 中显示得相当好。我的设备很慢而且很弱,但运行 SlimKat。这可能很重要。
  • @AlexCohn 该流的链接在我的计算机和我的设备中都为我提供了一个“拒绝访问”页面... Livestream 的流在我的移动浏览器上不起作用,但是当我点击它时,我下载了一些文件,视频可以正常工作……很奇怪,是吧?

标签: android video-streaming http-live-streaming live-streaming


【解决方案1】:

我想我做到了!

首先,我确实在使用来自 livestream.com 的流,但是现在,他们没有实际版本的公共 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 中。

所以这是我的代码: 请将下面代码中的“{VIDEO_RTSP_URL}”替换为您在上面得到的 JSON 中的“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 的内容。您可能只需要使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 2011-11-12
    • 2013-03-31
    • 1970-01-01
    • 2014-09-24
    • 1970-01-01
    相关资源
    最近更新 更多