android VideoView本工程mp4文件

最近在做一个demo,要求播放视频,记录一下。使用的是VideoView控件,如果播放网络视频的话,视频应该是渐进流式的,格式嘛,大家应该都知道,一般是H.263或者H.264格式的扩展名为3gp或者mp4的视频文件,或者MPEG4 SP的3gp文件。
    放个网络播放的测试视频地址:http://f3.3g.56.com/15/15/JGfMspPbHtzoqpzseFTPGUsKCEqMXFTW_smooth.3gp
    播放网络视频的代码如下:

    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卡中的视频的代码:

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



播放当前工程中的视频的代码: 

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中文件名有要求, 必须是有效的文件名,包括小写字母和数字,其余的都不行,注意!

 

videoView.setVideoURI(Uri.parse( "android.resource://com.telecom.activities/" +R.raw.tianyi)); 还是没有播放成功,先放这里。。。

 

是我错了,我定义一个常量public static final int RAW_START_MP4_INDEX=0x7f040000;然后就RAW_START_MP4_INDEX+index;index是int类型想得到0x7f040001,0x7f040002......应该先变成字符串再加,再变成int的。。。。

你可能感兴趣的:(VideoView)