文件名称:android 视频处理代码
文件大小:3KB
文件格式:TXT
更新时间:2022-05-04 06:07:55
Androi
public class VideoActivity extends AppCompatActivity implements EasyPermissions.PermissionCallbacks { private MovieRecorderView mRecorderView; private Button mShootBtn; private Button mComplete; private boolean isFinish = true; private static final int RC_CAMER_CONTACTS_PERM = 123; public static String PATH = "path";//视频返回路径 @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.video_layout); startVideo(); } private void initVideoView() { mRecorderView = (MovieRecorderView) findViewById(R.id.movieRecorderView); mShootBtn = (Button) findViewById(R.id.shoot_button); mComplete = (Button) findViewById(R.id.complete); mShootBtn.setLongClickable(true); mShootBtn.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { mRecorderView.record(new MovieRecorderView.OnRecordFinishListener() { @Override public void onRecordFinish() { handler.sendEmptyMessage(1); } }); } else if (event.getAction() == MotionEvent.ACTION_UP) { if (mRecorderView.getTimeCount() > 1) { handler.sendEmptyMessage(1); } else { if (mRecorderView.getmRecordFile() != null) { mRecorderView.getmRecordFile().delete(); mRecorderView.stop(); Toast.makeText(VideoActivity.this, "视频录制时间太短", Toast.LENGTH_SHORT).show(); } } } else if (event.getAction() == MotionEvent.ACTION_CANCEL) { if (mRecorderView.getTimeCount() > 1) { handler.sendEmptyMessage(1); } else { if (mRecorderView.getmRecordFile() != null) { mRecorderView.getmRecordFile().delete(); mRecorderView.stop(); Toast.makeText(VideoActivity.this, "视频录制时间太短", Toast.LENGTH_SHORT).show(); } } } return true; } }); mComplete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (isFinish) { Intent intent = new Intent(); intent.putExtra(PATH, mRecorderView.getmRecordFile().getAbsolutePath()); int leg = (int) mRecorderView.getmRecordFile().length(); setResult(RESULT_OK, intent); } finish(); } }); } @Override public void onResume() { super.onResume(); isFinish = true; } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); isFinish = false; mRecorderView.stop(); }