我想从网站上播放Android中的流媒体视频。
例如,我想播放来自此网址的流媒体视频:http://florotv.com/canal2.html
使用URL Helper,我已经能够捕获它的rtmp URL
rtmp://198.144.153.139:443/kuyo<playpath>ver44?id=acf6f5271f8ce567ed6c8737ce85a044&pid=32342e3136362e37332e323139 <swfUrl>http://yukons.net/yplay2.swf <pageUrl>http://yukons.net/embed/37363635373233343334/eeff74c57593ca38defc902fa6d88005/600/400
现在我有了这个URL,我想知道是否可以在android中播放视频。
我试过这个,但它不起作用,因为我不知道如何设置swfUrl,pageUrl .....
private static final String MOVIE_URL="rtmp://198.144.153.139:443/kuyo";
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
Uri data = Uri.parse(MOVIE_URL);
intent.setData(data);
startActivity(intent);
提前致谢....
我认为只创建一个intent就不够了,你还必须为要播放的视频创建一个上下文:就像一个VideoView对象。
下面的链接提出了这种模式的建议:http://androidcodeexamples.blogspot.sg/2011/08/how-to-play-mp4-video-in-android-using.html
本质上,MediaController对象是使用VideoView对象创建的。然后,一旦设置了URI,VideoView就用于启动操作。
编辑:可能主要问题是您的URL包含POST参数,并不完全是资源的唯一标识符(在本例中是视频文件)。
'swfUrl'和'pageUrl'参数很可能是为您提供页面的服务器所独有的。
将以下代码添加到Activity.java文件中。
protected void onCreate(Bundle savedInstanceState)
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.videoPlayer);
try {
String link="http://videocloud/video.mp4";
VideoView videoView = (VideoView) findViewById(R.id.myVideoView);
final ProgressBar pbLoading = (ProgressBar) findViewById(R.id.pbVideoLoading);
pbLoading.setVisibility(View.VISIBLE);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
Uri video = Uri.parse(link);
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.start();
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
pbLoading.setVisibility(View.GONE);
}
});
} catch (Exception e) {
// TODO: handle exception
Toast.makeText(this, "Error connecting", Toast.LENGTH_SHORT).show();
}
}
如果您不需要MediaController将其设置为null videoView.setMediaController(null)