我搜索了很多但没有找到任何解决方案。我的问题是如何在录制视频时添加文本,以便我们在观看视频时可以获得相同的文本。当我看到捕获的视频时,我想要这样的效果。
目前,我分别获取时间和视频。所以问题是如何将它们组合起来。任何形式的帮助都将不胜感激。先谢谢。
我搜索了很多但没有找到任何解决方案。我的问题是如何在录制视频时添加文本,以便我们在观看视频时可以获得相同的文本。当我看到捕获的视频时,我想要这样的效果。
目前,我分别获取时间和视频。所以问题是如何将它们组合起来。任何形式的帮助都将不胜感激。先谢谢。
VideoView
上显示一个TextView
。你提到你目前有时间和视频分开,因此我认为你正在尝试向视频文件本身添加文本。GPUImage
的开源iOS库可以让你做到这一点,但这很遗憾在Android上不可用。目前,这个问题没有简单的解决方案。
我使用camera2 API。我创建预览和ImageReader。我从录制表面获取画布。每个帧转换为位图并放置在画布上,然后绘制标志、文本等。
private val mOnImageAvailableListener = ImageReader.OnImageAvailableListener { reader ->
val image = reader.acquireNextImage() ?: return@OnImageAvailableListener
val bytes = image.toNV21()//image.convertYUV420888ToNV21()
val bitmap = Bitmap.createBitmap(image.width, image.height,
Bitmap.Config.ARGB_8888);
val bmData: Allocation = Converter.renderScriptNV21ToRGBA888(requireContext(),
image.width, image.height, bytes)
bmData.copyTo(bitmap)
val canvas = recorderSurface!!.lockCanvas(null)
canvas.drawBitmap(bitmap, 0f, 0f, Paint())
drawData(canvas)
recorderSurface!!.unlockCanvasAndPost(canvas)
bitmap.recycle()
image.close()
}