android 如何播放rtsp://110.80.31.70:6000/channe1
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 如何播放rtsp://110.80.31.70:6000/channe1相关的知识,希望对你有一定的参考价值。
可以用webView,加载html,通过video来播放。一、需要在androidManifest.xml文件中声明需要使用HardwareAccelerate, 可以细化到Activity级别,如果不需要的View可以声明不要用加速,但是需要在代码中做
具体如下:
1如果要声明整个应用都要加速:< application ... android:hardwareAccelerated ="true">
2.如果要在Activity中声明,则:
<activity ... android:hardwareAccelerated="true" >
Window, getWindow.setFlags( WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
3.如果application或者activity都申明了要硬件加速,但是为了某些原因(比如省电?),一些View不需要硬件加速的话, view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
二、 需要在AndroidManifest.xml文件中用上<use-sdk></use-sdk>标签,而且如果是空的还不行,必须写上targetSDK或者minSDK,但是我试验过,不管写版本是多少都没有关系。理论上说,Android应该是从3.0( API Level 11)开始可以对2D渲染加速,但是我把targetSDK设置为5都可以使用的,但是这个标签不写还不行。
一般来说,上面的操作做了,就可以使用video标签播放视屏了,如果要支持全屏,还需要做一点操作: 给webview一个WebChromeClient对象,这个WebChromeClient对象需要实现onShowCustomView和onHideCustomView方法 参考技术A 问题补充:renpeng301 写道 MediaPlayer.OnBufferingUpdateListener mBufferingUpdateListener = new MediaPlayer.OnBufferingUpdateListener() public void onBufferingUpdate(MediaPlayer mp, int percent) //todo ; MediaPlayer mp = new MediaPlayer(); mp.setDataSource("rtsp://110.80.31.70:6000/channe1"); mp.setOnBufferingUpdateListener(mBufferingUpdateListener); 谢谢您的回复 我的地址是外网的 你有没试过 可以播放吗 问题补充:renpeng301 写道外网可以啊 android支持流播放的啊···我弄过http的 rtsp的没弄过 ··我想应该一样的 你试一试啊· 你http地址有后缀吗 如果rtsp有后缀如.sdp的也可以播放是否因为我的这个地址还未解码呢它在vlc上是可以播放的 vlc是一个编解码边播放的播放器吧本回答被提问者采纳
如何在 android 中播放 RTSP [live streaming] 链接?
【中文标题】如何在 android 中播放 RTSP [live streaming] 链接?【英文标题】:How to play RTSP[live streaming] link in android? 【发布时间】:2012-03-09 13:32:12 【问题描述】:我正在尝试播放 RTSP 直播网址“rtsp://164.100.51.207/broadcast/DDLive”。 但我收到此错误 (1,-1)。
我正在尝试这段代码
VideoView myVideoView = (VideoView) findViewById(R.id.videoPlayer);
myVideoView.setVideoURI(Uri.parse(url.toString()));
myVideoView.setMediaController(new MediaController(this));
myVideoView.requestFocus();
myVideoView.start();
此代码给出错误(1,-1)。 我无法播放此链接。如果有人告诉我播放此网址的想法。
想。
【问题讨论】:
你在哪里设置了代码中的 rtsp 链接?? 【参考方案1】:回旋处建议 -
-
使用刚刚在android上编译的VLC将rtsp流下载到本地文件接收器。
下载完成后,只需使用本地文件的正常 Intent 字段值和 mp4 的 mimetype 播放该文件。
下面的片段应该会播放下载的内容。
new Intent(Intent.ACTION_VIEW).setDataAndType(Uri.parse("file:///mnt/sdcard/myfile.mp4"), "video/mp4");
Android 链接上的 VLC: http://forum.xda-developers.com/showthread.php?t=1517415 http://code.google.com/p/android-vlc-remote/source/browse/AndroidManifest.xml
从任何 youtube 视频中获取 rtsp 链接 - 稍微涉及的过程
如果您执行以下操作,您几乎可以将任何 youtube 视频作为 RTSP 流式传输:
-
获取 youtube 视频 ID - 例如 videoID=kgfctMNeDtg
获取 videoID 的 youtube 供稿
找到适合 youtube 格式的 rtsp 网址。格式 1,5 6 都有 rtsp
使用 HttpClient 实例请求 rtsp uri
详情:
http://snipplr.com/view/63341/youtube-rtsp-cli-request--audio-track-only-p2/
http://snipplr.com/view/57846/curl--rtsp-to-get-sdp-descriptor-for-media-stream/
【讨论】:
【参考方案2】:我尝试在 VLC 上播放 rtsp://164.100.51.207/broadcast/DDLive 但没有成功,这是我得到的错误
尝试另一个类似 rtsp://217.146.95.166:554/playlist/ch12zqcif.3gp(一些印度频道)的链接
【讨论】:
ya.. 我正在尝试其他运行良好的 RTSP 文件。但是,我无法播放此网址。请告诉我有关此网址的任何建议。这个网址不能玩安卓手机哈??????试试这个 rtmp://flashmedia.nic.in:80/live/dd1 是的,我认为该流的服务器已关闭,因此您无法从任何设备、移动设备或其他设备访问它。该流也不起作用以上是关于android 如何播放rtsp://110.80.31.70:6000/channe1的主要内容,如果未能解决你的问题,请参考以下文章
在 Android 中播放 RTSP 流视频时如何保持宽高比?