vitamio在listview等条目控件的使用

配置引用不再赘述,使用框架其实就是类似于一个lib包而已,但是注意编写demo的时候必须在真机上面测试,不然不能测试通过

package com.itxiaoyuan.video;import java.util.ArrayList;
import java.util.List;import io.vov.vitamio.LibsChecker;
import io.vov.vitamio.MediaPlayer;
import io.vov.vitamio.MediaPlayer.OnCompletionListener;
import io.vov.vitamio.MediaPlayer.OnErrorListener;
import io.vov.vitamio.MediaPlayer.OnPreparedListener;
import io.vov.vitamio.widget.MediaController;
import io.vov.vitamio.widget.VideoView;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;import com.itxiaoyuan.vi.R;public class MainActivity extends Activity {private ListView	mLv_video;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initData();initView();}/*** 获取视频流数据,视图当中播放*/private void initData() {// 获取本地的数据/**---------------需要注意 begin---------------**/if (!LibsChecker.checkVitamioLibs(MainActivity.this)){return ;}//创建一个list保存string数据String path1 = "rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp";
//		String path2 = "rtsp://xgrammyawardsx.is.livestream-api/livestreamiphone/grammyawards";mListPath = new ArrayList<String>();mListPath.add(path1);
//		mListPath.add(path2);}/*** 创建一个播放视频的视图*/private void initView() {// 得到当前视图的listview列表mLv_video = (ListView) findViewById(R.id.lv_video);new Thread(new Runnable() {@Overridepublic void run() {// TODO // 设置当前的额adapter的填充adapter = new MyBaseAdapter();mLv_video.setAdapter(adapter);}}).start();}MyBaseAdapter	adapter;private List<String>	mListPath;// 条目的视频器class MyBaseAdapter extends BaseAdapter {@Overridepublic int getCount() {if (mListPath!=null) {return mListPath.size();}return 0;}@Overridepublic Object getItem(int position) {return null;}@Overridepublic long getItemId(int position) {return 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// 固定写法ViewHolder holder = null;if (convertView == null) {holder = new ViewHolder();convertView = View.inflate(getApplicationContext(), R.layout.item_video_view, null);holder.mVitamio_vv = (VideoView) convertView.findViewById(R.id.vitamio_vv);convertView.setTag(holder);} else {holder = (ViewHolder) convertView.getTag();}// 加载每一个条目的数据initVideoData(holder,position);// 视图initVideoView(holder);// 设置监听initVideoListener(holder);//开始播放holder.mVitamio_vv.start();return convertView;}private void initVideoData(ViewHolder holder, int position) {// ################设置视频地址##############################/**---------------本地视频---------------**/// vvv.setVideoPath("/storage/emulated/0/Download/video_test.mp4");//本地地址播放 支持mp4// vvv.setVideoPath("/storage/emulated/0/Download/2.3gp"); //本地地址播放 支持3gp// vvv.setVideoPath("/storage/emulated/0/Download/3.avi");// 可以播放声音.但是没有视频// vvv.setVideoPath("/storage/emulated/0/Download/4.rmvb");// 可以播放声音.但是没有视频
//			holder.mVitamio_vv.setVideoPath("/VitamioVideo/assets/1.flv");/**---------------网络视频---------------**/// vvv.setVideoPath("http://192.168.1.72:8080/mp4.mp4");//网络地址 支持网络的mp4// vvv.setVideoPath("http://192.168.1.72:8080/2.3gp"); //网络地址 支持网络的3gp// vvv.setVideoPath("http://192.168.1.72:8080/flv.flv");//网络地址 支持网络的3gp// vvv.setVideoPath("http://192.168.1.72:8080/3.avi"); //网络地址 支持网络的avi// vvv.setVideoPath("http://192.168.1.72:8080/4.rmvb"); //网络地址 支持网络的rmvb// vvv.setVideoPath("http://192.168.1.72:8080/5.mkv"); //网络地址 支持网络的mkv// 对流媒体支持// vvv.setVideoPath("mms://mediasrv2.iptv.xmg/yinyue");//支持mms流媒体协议-->收音机
//			holder.mVitamio_vv.setVideoPath(".m3u8");//支持hls协议-->在线直播-->凤凰卫视holder.mVitamio_vv.setVideoPath(mListPath.get(position));//// 支持rtsp协议-->实时流媒体传输协议-->监控// vvv.setVideoPath("rtsp://xgrammyawardsx.is.livestream-api/livestreamiphone/grammyawards");//支持rtsp协议-->实时流媒体传输协议-->监控// vvv.setVideoPath("");//支持rtsp协议-->实时流媒体传输协议-->监控}private void initVideoView(ViewHolder holder) {//设置控制条holder.mVitamio_vv.setMediaController(new MediaController(MainActivity.this));}/*** 设置监听* @param holder */private void initVideoListener(ViewHolder holder) {/**---------------设置监听---------------**/holder.mVitamio_vv.setOnPreparedListener(new OnPreparedListener() {@Overridepublic void onPrepared(MediaPlayer mp) {// TODO }});holder.mVitamio_vv.setOnErrorListener(new OnErrorListener() {@Overridepublic boolean onError(MediaPlayer mp, int what, int extra) {// TODO return false;}});holder.mVitamio_vv.setOnCompletionListener(new OnCompletionListener() {@Overridepublic void onCompletion(MediaPlayer mp) {// TODO }});}class ViewHolder {VideoView	mVitamio_vv;}}}