android中使用setVideoURI()播放视频

时间:2024-03-02 19:10:39

最近在做一个demo,要求播放视频,记录一下。使用的是VideoView控件,如果播放网络视频的话,视频应该是渐进流式的,格式嘛,大家应该都知道,一般是H.263或者H.264格式的扩展名为3gp或者mp4的视频文件,或者MPEG4 SP的3gp文件。 
放个网络播放的测试视频地址:
http://f3.3g.56.com/15/15/JGfMspPbHtzoqpzseFTPGUsKCEqMXFTW_smooth.3gp 
播放网络视频的代码如下: 
Java代码 
videoView = (VideoView) findViewById(R.id.videoview); 
videoView.setVideoURI(Uri.parse("
http://f3.3g.56.com/15/15/JGfMspPbHtzoqpzseFTPGUsKCEqMXFTW_smooth.3gp")); 
MediaController mediaController = new MediaController(this); 
videoView.setMediaController(mediaController); 
videoView.start();

videoView = (VideoView) findViewById(R.id.videoview);
videoView.setVideoURI(Uri.parse("http://f3.3g.56.com/15/15/JGfMspPbHtzoqpzseFTPGUsKCEqMXFTW_smooth.3gp"));
MediaController mediaController = new MediaController(this);
videoView.setMediaController(mediaController);
videoView.start();

播放当前工程中的视频文件,费了点劲,怎么都不行,播放sd卡或者手机内存中的没问题。播放sd卡中的视频的代码:

Java代码 
videoView.setVideoURI(Uri.parse("
file:///sdcard/video/test.3gp"));

videoView.setVideoURI(Uri.parse("file:///sdcard/video/test.3gp"));


播放当前工程中的视频的代码: 
Java代码 
videoView.setVideoURI(Uri.parse("android.resource://com.telecom.activities/"+R.raw.tianyi));

videoView.setVideoURI(Uri.parse("android.resource://com.telecom.activities/"+R.raw.tianyi));

注:com.telecom.activities是类的package name,R.raw.tianyi是视频的文件名,视频放在res下的raw文件夹下了,会自动在R.java中生成。android中文件名有要求,必须是有效的文件名,包括小写字母和数字,其余的都不行,注意!