最近要做一个 Android上的录像功能,由于之前做拍照功能完全是用自定义方式,太麻烦。故这次决定直接调用系统相机来录像。
一、添加权限
首先,添加必要的权限
<!-- 授予该程序使用摄像头的权限 -->
<uses-permission android:name="android.permission.CAMERA"/>
<!-- 授予该程序使用麦克疯的权限 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
二、添加运行时权限
Android api23以上在代码中申请运行时权限,允许访问相机、录音、文件读取等。
int checkCallPhonePermission = ContextCompat.checkSelfPermission(ActivityAudio.this, Manifest.permission.CAMERA);
if(checkCallPhonePermission != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(ActivityAudio.this, new String[]{Manifest.permission.CAMERA}, 1);
return;
}
三、调用相机录像
录视频前必须确认文件夹存在,否则写入异常
public void takeVideo(View view) {
System.out.printl