VideoRecorder视频录制拓展- VideoRecorder — 前台模式(带预览)
- BackgroundVideoRecorder — 后台模式(无预览)
- 属性
- 事件
- 方法
- 编码参数参考
- 注意事项
- 拓展下载
VideoRecorder视频录制拓展
组件对比
| VideoRecorder | BackgroundVideoRecorder | |
|---|---|---|
| 预览画面 | 有(需绑定布局组件) | 无 |
| 应用最小化 | 录制中断 | 录制继续 |
| 典型场景 | 用户主动录制、扫码录像 | 后台监控、静默录制 |
| 独有功能 | 摄像头切换、闪光灯、静音 | 取消录制、录制中截图 |
两者共享同一组编码属性(Quality、BitRate、FrameRate 等),录音权限逻辑相同。
VideoRecorder — 前台模式(带预览)
在布局中显示摄像头实时画面,录制视频。
使用流程
- 拖入 VideoRecorder 和一个布局组件(如 VerticalArrangement)
- 设置属性(Quality、BitRate、UseFrontCamera 等)
- 调用
InitializeCamera(布局)创建预览画面 - 调用
StartRecording()开始录制 - 调用
StopRecording()停止,VideoRecorded事件返回文件路径
示例
当 Screen1.Initialize 时:
设置 VideoRecorder1.Quality = "1080P"
设置 VideoRecorder1.BitRate = 6000000
调用 VideoRecorder1.InitializeCamera(VerticalArrangement1)
当 ButtonRecord.Click 时:
调用 VideoRecorder1.StartRecording()
当 ButtonStop.Click 时:
调用 VideoRecorder1.StopRecording()
当 VideoRecorder1.VideoRecorded(路径) 时:
设置 Label1.Text = "已保存: " + 路径
BackgroundVideoRecorder — 后台模式(无预览)
无预览画面,应用最小化后录制继续。适合后台监控、静默录制等场景。
使用流程
- 设置属性(Quality、BitRate、FrameRate 等)
- 调用
StartRecording()开始录制 - 调用
StopRecording()停止
示例
当 Screen1.Initialize 时:
设置 BackgroundVideoRecorder1.Quality = "1080P"
设置 BackgroundVideoRecorder1.BitRate = 6000000
当 ButtonStart.Click 时:
调用 BackgroundVideoRecorder1.StartRecording()
当 ButtonStop.Click 时:
调用 BackgroundVideoRecorder1.StopRecording()
当 BackgroundVideoRecorder1.VideoRecorded(路径) 时:
设置 Label1.Text = "已保存: " + 路径
属性
通用属性(两个组件共享)
- UseFrontCamera
- 是否使用前置摄像头,默认
false - FlashOn
- 是否启用闪光灯,默认
false - CameraOrientation
- 摄像头方向(0/90/180/270),默认自动检测
- Quality
- 视频画质预设,默认
HIGHEST。支持HIGHEST、LOWEST、720P、1080P、480P、1920x1080等 - BitRate
- 视频编码码率(bps),默认
0自动根据分辨率计算。建议 2000000~12000000 - FrameRate
- 视频帧率,默认
30。支持 30/60 - AudioBitRate
- 音频编码码率(bps),默认
128000。建议 64000~320000 - RecordAudio
- 是否录制音频,默认
true - RecordingDuration
- 当前录制时长(毫秒),只读。未录制时返回
0,录制中返回已录制的毫秒数
VideoRecorder 专用属性
- ScaleType
- 预览缩放类型,
0=FillCenter,1=FitCenter(默认) - AspectRatio
- 宽高比,
0=4:3,1=16:9,-1=默认(默认)
只读常量
- FeatureBackCamera
- 后置摄像头特性标识,值为
"back_camera" - FeatureFrontCamera
- 前置摄像头特性标识,值为
"front_camera" - FeatureAutofocusCamera
- 自动对焦特性标识,值为
"autofocus" - FeatureCameraFlash
- 闪光灯特性标识,值为
"flash" - ScaleTypeFillCenter
- 填充居中缩放类型,值为
0 - ScaleTypeFitCenter
- 适应居中缩放类型,值为
1 - AspectRatio4n3
- 4:3 宽高比,值为
0 - AspectRatio16n9
- 16:9 宽高比,值为
1 - AspectRatioDefault
- 默认宽高比,值为
-1
事件
通用事件
- RecordingStarted()
- 录制开始时触发
- VideoRecorded(videoPath)
- 录制完成并保存时触发,参数为视频文件路径
- RecordingPaused()
- 录制暂停时触发
- RecordingResumed()
- 录制恢复时触发
- ErrorOccurred(errorMsg)
- 发生错误时触发
VideoRecorder 事件
- CameraPreviewStarted()
- 预览启动时触发
- CameraPreviewStopped()
- 预览停止时触发
- CameraSwitched(isFrontCamera)
- 摄像头切换时触发
- RecordingMuted()
- 静音录制时触发
- RecordingUnmuted()
- 取消静音时触发
BackgroundVideoRecorder 事件
- PhotoCaptured(filePath)
- 录制中截图成功时触发
- PhotoCaptureError(message)
- 截图失败时触发
方法
通用方法
- StartRecording()
- 开始录制。根据
RecordAudio属性决定是否录制音频,录制音频时需要录音权限 - StopRecording()
- 停止录制并保存视频,触发
VideoRecorded事件 - PauseRecording()
- 暂停录制(需要 Android 7.0+)
- ResumeRecording()
- 恢复录制
- IsFeatureAvailable(feature)
- 检查设备是否支持指定特性。可选值:
back_camera、front_camera、flash、autofocus - GetSupportedVideoQualities()
- 获取当前摄像头支持的画质列表
- HasRecordAudioPermission()
- 检查是否有录音权限
- RequestRecordAudioPermission()
- 打开系统应用权限设置页面,引导用户开启录音权限
VideoRecorder 方法
- InitializeCamera(container)
- 在指定布局中初始化摄像头预览。container 为布局组件(如 VerticalArrangement)
- StopCamera()
- 关闭摄像头并移除预览画面
- SwitchCamera()
- 切换前后摄像头(录制中不可切换)
- EnableFlash(enable)
- 设置闪光灯状态,预览启动后使用
- IsFlashOn()
- 查询闪光灯是否开启
- MuteRecording()
- 静音录制(停止音频采集,视频继续录制)
- UnMuteRecording()
- 取消静音(恢复音频录制)
BackgroundVideoRecorder 方法
- CancelRecording()
- 取消录制并删除临时文件
- CapturePhoto()
- 录制中截图,自动保存到应用私有目录
编码参数参考
码率对照表(BitRate)
| 分辨率 | 建议码率 | 自动计算值 |
|---|---|---|
| 1080P (1920x1080) | 6~10 Mbps | 8 Mbps |
| 720P (1280x720) | 3~6 Mbps | 4 Mbps |
| 480P (720x480) | 1.5~3 Mbps | 2 Mbps |
| 更低 | 1~2 Mbps | 1.5 Mbps |
Quality 预设值
HIGHEST- 设备支持的最高分辨率LOWEST- 设备支持的最低分辨率1080P/720P/480P- 按高度匹配1920x1080/1280x720- 指定具体分辨率
注意事项
- 录制参数(码率/帧率/分辨率)在录制前设置,录制过程中不可修改
- 暂停/恢复需要 Android 7.0+
- VideoRecorder 录制中不可切换摄像头
- BackgroundVideoRecorder 录制中可截图(CapturePhoto)
- 需要摄像头和录音权限
拓展下载
收费拓展,请联系客服获取~
扫码添加客服咨询