【Android】使用VideoView播放视频

9.2 MediaPlayer播放音频与视频 | 菜鸟教程本节引言: 本节带来的是Android多媒体中的——MediaPlayer,我们可以通过这个API来播放音频和视频 该类是Androd多媒体框架中的一个重要组件,通过该类,我们可以以最小的步骤来获取,解码 和播放音视频。它支持三种不同的媒体来源: 本地资源 内部的URI,比如你可以通过ContentResolver来获取 外部URL(流) 对于Android所支持的的媒体格式列表 对于Android支持的媒体格式列表,可见:..https://www.runoob.com/w3cnote/android-tutorial-mediaplayer.html

菜鸟教材上的第三种方法(使用VideoView播放视频):

一. 我们可以看一下VideoView中提供的方法,方便使用

1. 首先,我们要获取视频源文件到VideoView

 目录为:res-raw-video1.mp4

video.setVideoPath("android.resource://"+getPackageName()+"/"+R.raw.video1);

 

2. 其次 如果我们需要用到播放进度条的话 还要用到MediaController

创建一个MediaController对象,然后在VideoView方法中去设置

MediaController mediaController=new MediaController(MainActivity.this);
video.setMediaController(mediaController);

二.  代码

1. MainActivity.java

package com.example.exam_01;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.MediaController;
import android.widget.VideoView;

public class MainActivity extends AppCompatActivity{
    ImageView imageView;
    VideoView video;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        video=this.findViewById(R.id.vv1);
        video.setVideoPath("android.resource://"+getPackageName()+"/"+R.raw.video1);
        MediaController mediaController=new MediaController(MainActivity.this);
        video.setMediaController(mediaController);

        imageView=this.findViewById(R.id.ivv1);
        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                play();
            }
        });
        video.start();
    }



    public void play(){
        if(video.isPlaying()&&video!=null){
            imageView.setImageResource(android.R.drawable.ic_media_pause);
            video.pause();
            return;
        }
        imageView.setImageResource(android.R.drawable.ic_media_play);
        video.start();

    }
}

2. activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <VideoView
        android:id="@+id/vv1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        />
    <ImageView
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:id="@+id/ivv1"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="60dp"
        android:src="@android:drawable/ic_media_play"/>

    </RelativeLayout>

三. 效果

猜你喜欢

转载自blog.csdn.net/m0_56233309/article/details/124796432