最近在做一個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中文件名有要求,必須是有效的文件名,包括小寫字母和數字,其余的都不行,注意!