直接复制recording库下面的代码,或者引入recording库。 然后在所承载的录制activity中进行设置
/**
* 开始录制 注意之前要申请权限
*Manifest.permission.MODIFY_AUDIO_SETTINGS
*Manifest.permission.MICROPHONE
*Manifest.permission.STORAGE
*Manifest.permission.RECORD_AUDIO
*/
ScreenRecorderBuild.Builder()
.setActivity(this)
.setFps(Utils.getFps())//设置fps 默认24fps
.setBitRate(Utils.getBitRate())//设置视频编码比特率1Mbps、5Mbps。//默认5Mbps
.setStateListener(this) //设置录制监听
.setWidth(1080)//宽 默认系统
.setHeight(1980)//高 默认系统
.setIsAudioVoice(true)//true有声 false无声
.build()
在onActivityResult中
@SuppressLint("NewApi")
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
data?.let {
screenRecorderBuild?.onActivityResult(requestCode, resultCode, data)
}
}
然后调用以下方法进行录制
startRecord() //开始录制
stopRecord()//停止录制
resume()//继续录制
pause()//暂停录制
如要监听录制状态可实现ScreenStateListener
更多状态可以自行添加
public interface ScreenStateListener {
/**
* 录制中
*/
void recording();
/**
* 暂停中
*/
void pause();
/**
* 录制结束
* @param path 文件地址
*/
void stop(String path);
/**
* 异常
* @param msg 异常提示
*/
void error(String msg);
}
在onDestroy()
中 释放
screenRecorderBuild?.cancelAll()