引导页播放视频

主要的控件是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

里面的视屏自己录的,录的不好,见谅!!!

猜你喜欢

转载自blog.csdn.net/qq_30299243/article/details/79364792