主要的控件是CustomVideoView
废话少说,上代码 mainactivity
package com.p.myapplication; import android.app.Activity; import android.media.MediaPlayer; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.TextView; import android.widget.Toast; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; public class MainActivity extends Activity { @BindView(R.id.cv_video) CustomVideoView mpvideo; @BindView(R.id.tv_jump) TextView mpjump; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); intview(); } private void intview() { mpvideo.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.ceshi)); //播放 mpvideo.start(); mpjump.setVisibility(View.VISIBLE); mpvideo.setOnErrorListener(new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { Toast.makeText(MainActivity.this, "播放失败", Toast.LENGTH_LONG); //播放失败的操作 return true; } }); //循环播放 mpvideo.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mediaPlayer) { //播放成功的操作 } }); } @OnClick(R.id.tv_jump) public void onClick() { mpvideo.stopPlayback(); // 点击进入其他界面,这里暂时finish。 finish(); } }
CustomVideoView类
package com.p.myapplication; import android.content.Context; import android.media.MediaPlayer; import android.util.AttributeSet; import android.view.KeyEvent; import android.widget.VideoView; public class CustomVideoView extends VideoView { public CustomVideoView(Context context) { super(context); } public CustomVideoView(Context context, AttributeSet attrs) { super(context, attrs); } public CustomVideoView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int width = getDefaultSize(0, widthMeasureSpec); int height = getDefaultSize(0, heightMeasureSpec); setMeasuredDimension(width, height); } @Override public void setOnPreparedListener(MediaPlayer.OnPreparedListener l) { super.setOnPreparedListener(l); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { return super.onKeyDown(keyCode, event); } }
布局文件
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <com.p.myapplication.CustomVideoView android:id="@+id/cv_video" android:layout_width="match_parent" android:layout_height="match_parent" tools:visibility="gone"/> <TextView android:id="@+id/tv_jump" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginTop="20dp" android:layout_marginEnd="20dp" android:layout_marginRight="20dp" android:background="@drawable/button_shape_transparent" android:foreground="?attr/selectableItemBackground" android:paddingBottom="5dp" android:paddingLeft="10dp" android:paddingRight="10dp" android:paddingTop="5dp" android:textColor="@android:color/white" android:visibility="gone" tools:visibility="visible" android:textSize="15sp" android:text="跳过"/> </RelativeLayout>
下载地址:http://download.csdn.net/download/qq_30299243/10257636
里面的视屏自己录的,录的不好,见谅!!!