Java 如何在Camera2 Api自定义视频录制应用程序中添加徽标/水印
如何在Camera2 Api自定义视频录制应用程序中添加徽标/水印 我想在左上角的自定义相机应用程序中添加徽标/水印Java 如何在Camera2 Api自定义视频录制应用程序中添加徽标/水印,java,android,android-studio,kotlin,android-camera2,Java,Android,Android Studio,Kotlin,Android Camera2,如何在Camera2 Api自定义视频录制应用程序中添加徽标/水印 我想在左上角的自定义相机应用程序中添加徽标/水印 private fun recordSession() { setupMediaRecorder() val surfaceTexture = previewTextureView.surfaceTexture surfaceTexture.setDefaultBufferSize(MAX_WIDTH, MAX_HEIGHT) val text
private fun recordSession() {
setupMediaRecorder()
val surfaceTexture = previewTextureView.surfaceTexture
surfaceTexture.setDefaultBufferSize(MAX_WIDTH, MAX_HEIGHT)
val textureSurface = Surface(surfaceTexture)
val recordSurface = mediaRecorder.surface
captureRequestBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_RECORD)
captureRequestBuilder.addTarget(textureSurface)
captureRequestBuilder.addTarget(recordSurface)
val surfaces = ArrayList<Surface>().apply {
add(textureSurface)
add(recordSurface)
}
cameraDevice.createCaptureSession(surfaces, object : CameraCaptureSession.StateCallback() {
override fun onConfigureFailed(p0: CameraCaptureSession) {
Log.d("Error", "Failed Session")
}
override fun onConfigured(session: CameraCaptureSession) {
if (session != null) {
captureSession = session
captureRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE)
captureSession.setRepeatingRequest(captureRequestBuilder.build(), null, null)
isRecording = true
mediaRecorder.start()
}
}
}, backgroundHandler)
}
private-fun-recordSession(){
setupMediaRecorder()
val surfacettexture=previewTextureView.surfacettexture
surfaceTexture.setDefaultBufferSize(最大宽度、最大高度)
val textureSurface=曲面(surfaceTexture)
val recordSurface=mediaRecorder.surface
captureRequestBuilder=cameraDevice.createCaptureRequest(cameraDevice.TEMPLATE\u记录)
captureRequestBuilder.addTarget(textureSurface)
captureRequestBuilder.addTarget(recordSurface)
val surfaces=ArrayList()。应用{
添加(纹理表面)
添加(记录表面)
}
cameraDevice.createCaptureSession(曲面,对象:CameraCaptureSession.StateCallback(){
覆盖已配置的乐趣(p0:CameraCaptureSession){
Log.d(“错误”,“会话失败”)
}
覆盖未配置的乐趣(会话:CameraCaptureSession){
if(会话!=null){
captureSession=会话
captureRequestBuilder.set(CaptureRequest.CONTROL\u AF\u MODE,CaptureRequest.CONTROL\u AF\u MODE\u CONTINUOUS\u PICTURE)
captureSession.setRepeatingRequest(captureRequestBuilder.build(),null,null)
isRecording=true
mediaRecorder.start()
}
}
},backgroundHandler)
}