Dana
6 天以前 537f4895dc9b428e13c550be7f41275a6a4882b8
refs
用户 Dana <Dana_Lee1016@126.com>
星期四, 一月 29, 2026 14:08 +0800
提交者 Dana <Dana_Lee1016@126.com>
星期四, 一月 29, 2026 14:08 +0800
提交537f4895dc9b428e13c550be7f41275a6a4882b8
目录 2408847b65322a1081272cdfb0cf774c87b0d95c 目录 |
parent f8e07136a73a1723c2c9cdd13b8928c0e7cdf5aa 查看 | 对比
1.P2录像 无音频 只有P1有

initEncoderAndMuxer() - 根据 usbCameraId 决定是否初始化音频
P1 (usbCameraId != 2):正常初始化音频编码器和 AudioRecord
P2 (usbCameraId == 2):跳过音频初始化,audioEncoder 和 audioRecord 保持为 null
2. checkAndStartMuxer() - 根据模式决定启动条件
P1:需要视频和音频轨道都准备好才启动 muxer
P2:只要有视频轨道就启动 muxer(无音频轨道)
3. RecordThread - 根据模式决定是否启动音频线程
P1:启动 AudioRecord 和 AudioThread
P2:跳过音频录制和编码线程
4. AudioThread - 增加空值检查
如果 audioRecord == null 或 audioEncoder == null(P2 模式),直接退出
5. 文件轮换时的音频处理
文件轮换时,P2 模式同样跳过重新启动音频录制
结果
P1 录像:视频 + 音频(MP4 包含音轨)
P2 录像:仅视频(MP4 无音轨)
2个文件已修改
154 ■■■■■ 已修改文件
app/src/main/java/com/safeluck/floatwindow/manager/UsbCameraRecordManager.java 149 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/safeluck/floatwindow/util/VideoFileUtils.java 5 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史