设为首页 加入收藏

TOP

Android VideoView的使用例程
2014-11-24 07:48:42 来源: 作者: 【 】 浏览:1
Tags:Android VideoView 使用

一、 xxxvideo.java


public class RemoteVideo extends Activity {


private String path = "";


private String textUrl = "";


private VideoView mVideoView;


private static int i = 0;


private int width;


private int heigh;


private Dialog dialog;


private Handler mHandler = new Handler();



public void onCreate(Bundle icicle) {


super.onCreate(icicle);


requestWindowFeature(Window.FEATURE_NO_TITLE);


setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);


Bundle bundle = this.getIntent().getExtras();


DisplayMetrics dm = new DisplayMetrics();


getWindowManager().getDefaultDisplay().getMetrics(dm);


width=dm.widthPixels;


heigh=dm.heightPixels;


textUrl = bundle.getString("url");


if(width/heigh>0)


{


setContentView(R.layout.videoview);


path = bundle.getString("widthurl");


Log.i("mp4", "heng"+path);


}


if(width/heigh==0)


{


setContentView(R.layout.view);


path = bundle.getString("heighturl");


Log.i("mp4", "shu"+path);


}


dialog=ProgressDialog.show(this, "视频加载中...", "请您稍候");


mVideoView = (VideoView) findViewById(R.id.surface_view);


mVideoView.setVideoPath(path);


MediaController controller = new MediaController(this);


mVideoView.setMediaController(controller);


mVideoView.requestFocus();


mVideoView.setOnPreparedListener(new OnPreparedListener() {


//@Override


public void onPrepared(MediaPlayer mp) {


mVideoView.setBackgroundColor(Color.argb(0, 0, 255, 0));


dialog.dismiss();


}


});


mVideoView.setOnCompletionListener(new OnCompletionListener() {


//@Override


public void onCompletion(MediaPlayer mp) {


Toast.makeText(RemoteVideo.this, "video play finished!", Toast.LENGTH_LONG)


.show();


}


});


controller.setOnTouchListener(new View.OnTouchListener() {



public boolean onTouch(View v, MotionEvent event) {


return true;


}


});


}



@Override


protected void onResume() {


super.onResume();


mVideoView.seekTo(i);


mVideoView.start();


}


@Override


protected void onStop() {


super.onStop();


mVideoView.pause();


i = mVideoView.getCurrentPosition();


}


@Override


public boolean onKeyDown(int keyCode, KeyEvent event) {


if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {


finish();


return true;


}


return false;


}


}



说明:


1. VideoView可接收本地和远程的视频源并解码;


2. MediaController为videoview的控制条类;


3. bundle获取intent传过来的视频路径;


二、videoview.xml



< xml version="1.0" encoding="utf-8" >


android:layout_width="fill_parent" android:layout_height="fill_parent"


android:gravity="left" android:orientation="horizontal">



android:layout_width="176px" android:layout_height="132px"


android:layout_gravity="left" />



android:layout_width="wrap_content"


android:layout_height="wrap_content"/>



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android ExpandableListView显示.. 下一篇Android Launcher View构架浅析

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·在 Redis 中如何查看 (2025-12-26 03:19:03)
·Redis在实际应用中, (2025-12-26 03:19:01)
·Redis配置中`require (2025-12-26 03:18:58)
·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)