今天我为我的一个应用程序(Android 2.1)想从URL流式传输视频。
就我所了解的安卓SDK来说,它非常好,我喜欢它的几乎每一部分。但是现在涉及到视频流时,我有点迷茫。
关于安卓SDK的任何信息,你都可以找到成千上万的博客告诉你如何做。但是当涉及到视频流时,情况不同。信息并不是那么丰富。
每个人都用自己的方法去骗过这里那里。
是否有任何知名的过程允许流式传输视频?
谷歌有没有考虑让开发者更容易地进行视频流式传输?
今天我为我的一个应用程序(Android 2.1)想从URL流式传输视频。
就我所了解的安卓SDK来说,它非常好,我喜欢它的几乎每一部分。但是现在涉及到视频流时,我有点迷茫。
关于安卓SDK的任何信息,你都可以找到成千上万的博客告诉你如何做。但是当涉及到视频流时,情况不同。信息并不是那么丰富。
每个人都用自己的方法去骗过这里那里。
是否有任何知名的过程允许流式传输视频?
谷歌有没有考虑让开发者更容易地进行视频流式传输?
如果您想让操作系统使用默认播放器播放视频,您可以使用以下意图:
String videoUrl = "insert url to video here";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(videoUrl));
startActivity(i);
然而,如果你想自己创建一个视图并将视频流传输到它,一种方法是在你的布局中创建一个VideoView并使用MediaPlayer将视频流传输到其中。以下是XML中的VideoView:
<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等)。