package com.enjoy.mediademo; import android.hardware.Camera; import android.media.MediaPlayer; import android.media.MediaRecorder; import android.os.Bundle; import android.text.TextUtils; import android.view.Surface; import android.view.TextureView; import android.view.View; import android.widget.Button; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import java.io.File; import java.io.IOException; public class VideoActivity extends AppCompatActivity implements View.OnClickListener, MediaPlayer.OnPreparedListener, MediaPlayer.OnCompletionListener { private TextureView textureView; private Button btn_opt; private MediaPlayer mediaPlayer; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_record); textureView = findViewById(R.id.textureView); btn_opt = findViewById(R.id.btn_opt); btn_opt.setOnClickListener(this); } @Override public void onClick(View v) { CharSequence text = btn_opt.getText(); If (textutils.equals (text, "start ")) {btn_opt.settext (" end "); mediaPlayer = new MediaPlayer(); / / set to monitor mediaPlayer. SetOnPreparedListener (this); mediaPlayer.setOnCompletionListener(this); Try {/ / specified video source mediaPlayer. SetDataSource (new File (getExternalFilesDir (" "), "arjun p4"). The getAbsolutePath ()); } catch (IOException e) { e.printStackTrace(); } mediaPlayer.setSurface(new Surface(textureView.getSurfaceTexture())); mediaPlayer.prepareAsync(); } else {btn_opt.settext (" start "); mediaPlayer.stop(); mediaPlayer.release(); } } @Override public void onPrepared(MediaPlayer mp) { mediaPlayer.start(); } @override public void onCompletion(MediaPlayer mp) {btn_opt.settext (" start "); mediaPlayer.release(); }}Copy the code

layout

<? The XML version = "1.0" encoding = "utf-8"? > <androidx.constraintlayout.widget.ConstraintLayout 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="match_parent"> <TextureView android:id="@+id/textureView" android:layout_width="match_parent" android:layout_height="match_parent" /> <Button android:id="@+id/btn_opt" Android :layout_width="wrap_content" Android :layout_height="wrap_content" Android :text=" start" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>Copy the code