Java 如何在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

如何在Camera2 Api自定义视频录制应用程序中添加徽标/水印 我想在左上角的自定义相机应用程序中添加徽标/水印

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)
}