AI"幻觉"变真功能:App Inventor 2视频录制拓展一周开发实录

4 阅读4分钟

一场由AI"胡说八道"引发的真开发,最终变成了一段用户和团队的双向奔赴。

起因:AI说了一个"谎"

事情的开头有点荒诞。

有用户来咨询,说AI Pro版介绍里提到了我们有一款"视频录制拓展"。我们的第一反应是——没有啊。翻遍了产品列表,确实没有这个组件。这纯粹是AI的"幻觉",一本正经地编了个不存在的功能。

本来这事到这就结束了,"抱歉,暂时没有这个拓展"。

但紧接着,另一位用户也来问了。而且这次不是随便问问——他明确说要做一个会议录制App,需要调整视频码率来压缩体积。需求非常具体,场景非常清晰。

两个用户,同一个需求,前后脚出现。团队一合计:这不是AI在骗人,这是用户在告诉我们,他们真的需要这个功能。

一周:从零到上线

既然用户需要,那就做。

但说实话,App Inventor 2平台上做一个好用的视频录制拓展,挑战不小。不是"能录就行",而是要在积木式开发的框架下,让普通用户也能灵活控制视频质量、切换摄像头、管理录制文件。

团队定下了目标:一周之内,交付一个能打的版本。

然后就开始了整整一周的高强度开发。

那些差点劝退我们的技术难题

开发过程中,有几个问题是真的棘手:

竖屏横屏切换,预览画面怎么跟着转?

这是最先遇到、也是耗时最长的问题。用户竖着拿手机录,突然横过来,预览画面要自动适配,不能拉伸变形,也不能留黑边。来来回回改了好几个版本,最终找到了兼顾不同机型和屏幕比例的方案。

预览画面要"充满"布局

不是简单地填满就完事——要裁剪得当、焦点居中、不能丢失重要画面区域。这个看似简单的需求,调试过程远比预想复杂。

前置摄像头初始化

用户希望在打开App时直接使用前置摄像头,而不是默认的后置。这需要在录制开始前就设定好摄像头属性,经过反复测试验证,确认方案可行。

视频文件放哪里?

默认存App私有目录,不需要请求额外的文件访问权限。用户可以通过文件浏览器查看录制的MP4文件,也可以用信息分享器组件把文件另存到相册或分享给其他App。简单、安全、合规。

录制时长实时显示

用户提出需要知道"已经录了多久",团队加了一个 RecordingDuration 属性,实时返回录制毫秒数。

屏幕常亮

录视频的时候手机自动锁屏?不行。加上了保持屏幕常亮的功能,录制期间屏幕不会自动熄灭。

视频质量怎么设?

  • 设计器里:下拉框选择,HIGHEST、LOWEST、1080P、720P、480P一目了然
  • 代码块里:除了预设值,还支持直接输入自定义分辨率,比如1920×1080、1280×720

两个组件,两种场景

VideoRecorder(前台模式):带摄像头预览画面,支持前后摄像头切换、闪光灯、静音录制。

BackgroundVideoRecorder(后台模式):没有预览画面,App最小化后录制继续进行,还支持录制中截图。

两个组件共享同一套编码参数——Quality、BitRate、FrameRate、AudioBitRate。

用户:写了一封长长的感谢信

"面对我的多次疑问和反复修改需求,全程没有一丝敷衍、没有半点不耐烦。" "专业能力过硬,服务态度绝佳,包容耐心拉满。"

技术细节

码率对照表

分辨率建议码率自动计算值
1080P6~10 Mbps8 Mbps
720P3~6 Mbps4 Mbps
480P1.5~3 Mbps2 Mbps

Quality预设值

  • HIGHEST / LOWEST / 1080P / 720P / 480P
  • 支持自定义分辨率如1920x1080
  • 帧率30/60fps,音频码率默认128000
  • 暂停/恢复需Android 7.0+

写在最后

有时候错误也能指向正确的方向。从一个不存在的功能,到一周内交付两个完整组件,再到用户发自内心的感谢:认真对待每一个用户需求,快速响应,反复打磨,结果不会差。