如何编程实现Android Studio模拟器音视频录制自动化?
模拟器音视频录制自动化方案
核心问题说明
adb screenrecord 仅支持录制画面,无法捕获音频;模拟器自带的Extended Controls录制功能虽能同时录屏+录音,但仅支持手动操作,无法实现自动化。
可行解决方案
1. 调用模拟器控制台接口实现自动化(替代手动Extended Controls)
Android模拟器的录制功能后台开放了控制台指令接口,可通过以下步骤操作:
- 先通过
adb devices查看模拟器端口号(格式为emulator-<端口号>,默认是5554) - 连接模拟器控制台并发送录制指令:
telnet localhost 5554 # 连接成功后,启动带音频的录制(可自定义比特率、分辨率) record start --audio --bit-rate 4000000 --size 1920x1080 # 停止录制 record stop - 录制文件默认存在模拟器的
/sdcard/Movies/目录,用adb pull导出到本地:adb pull /sdcard/Movies/recording.mp4 ./
2. 第三方工具组合方案
如果模拟器控制台指令受限,可结合ffmpeg实现画面+音频的自动化录制:
- 通过
adb获取模拟器画面流 - 捕获电脑系统音频(Windows用
wasapi,macOS用avfoundation) - 用
ffmpeg合并画面与音频:# 示例(以macOS捕获系统音频为例) ffmpeg -f avfoundation -i ":0" -i <(adb exec-out screenrecord --output-format h264 -) -c:v copy -c:a aac output.mp4
注意事项
- 若模拟器端口不是默认的5554,需替换为
adb devices显示的实际端口号 - 部分模拟器版本需开启开发者选项中的「允许远程调试」权限
- 系统音频捕获参数需根据操作系统调整
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

