Activity代码:
package com.example.videoplaydemo;
import android.Manifest;
import android.content.pm.PackageManager;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.view.SurfaceView;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import java.io.File;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
//定义按钮
private Button reccordBn;
private Button stopBn;
//定义视频文件
private File videoFile;
private MediaRecorder mRecorder;
//显示视频预览
private SurfaceView sView;
//是否在录制视频
private Boolean isRecording;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
reccordBn = findViewById(R.id.record);
stopBn = findViewById(R.id.stop);
// 按钮不可用时
stopBn.setEnabled(false);
requestPermissions(new String[]{Manifest.permission.CAMERA,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.WRITE_EXTERNAL_STORAGE}, 0x123);
View.OnClickListener listener = source ->
{
switch (source.getId()) {
// 点击录制按钮
case R.id.record:
if (!Environment.get