废话不多说
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="400dp"
tools:context=".MainActivity">
<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</VideoView>
<ImageView
android:scaleType="fitXY"
android:id="@+id/img"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
package com.ywj.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.graphics.Bitmap;
import android.media.MediaMetadataRetriever;
import android.net.Uri;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.MediaController;
import android.widget.VideoView;
import java.util.HashMap;
public class MainActivity extends AppCompatActivity {
private Activity mContext;
private VideoView videoView;
MediaController controller;
private ImageView img;
String uriPath = "http://ips.ifeng.com/video19.ifeng.com/video09/2014/06/16/1989823-102-086-0009.mp4";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
videoView = findViewById(R.id.videoView);
img = findViewById(R.id.img);
mContext = this;
/**
* 本地播放
*/
// videoView.setVideoPath("");
/**
* 网络播放
*/
videoView.setVideoURI(Uri.parse(uriPath));
/**
* 使用MediaController控制视频播放
*/
controller = new MediaController(mContext);
/**
* 设置videoView与MediaController建立关联
*/
videoView.setMediaController(controller);
/**
* 设置MediaController与videoView建立关联
*/
controller.setMediaPlayer(videoView);
MediaMetadataRetriever media = new MediaMetadataRetriever();
media.setDataSource(uriPath, new HashMap());
Bitmap bitmap = media.getFrameAtTime();
img.setImageBitmap(bitmap);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()){
//监听事件,去除第一帧图片
case MotionEvent.ACTION_DOWN:
videoView.start();
img.setVisibility(View.GONE);
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
}