我最近遇到了很多麻烦。
我想开发一个嵌入了直播的Android应用,但我只是不知道如何开始。 我尝试使用嵌入了livestreaming标记的Webview,但它不起作用(很可能是通过Flash提供的流)。 我也尝试使用VideoView组件但它也没有用。
我知道这是可能的,因为那些发布商有自己的APP,但我们提供的格式通常是Flash。不是适合移动设备的格式。
有人可以告诉我如何开始或者是否有一些解决方法?
提前致谢!
编辑:
我想做的是,比如,拿这个流,例如: http://new.livestream.com/ATP/lexington2014court1 并将其显示在我的APP中。
答案 0 :(得分:13)
我想我做到了!
首先,我确实使用了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}"在下面的代码中使用" 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这样的流媒体服务,他们可能会通过API为你提供类似RTSP_URL的内容。您可能只需要使用它。