14)
15req. close
16
17options = STORAGE.get( "config") or{sensor: 0, format: "jpeg", fps: 30, resolution:[ 1280, 720]}
18
19session = CAMERA. open(options)
20session.onFrame= frame -> queue.pushTry(frame) orframe. close
21
22UI. insert(UI.text).text= "Choose a sensor:"
23dropdownSensors = UI. insert(UI.dropdown)
24dropdownSensors.selection= session.sensor
25dropdownSensors.values = CAMERA.sensors.map(_.name)
26dropdownSensors.onSelect = index ->
27STORAGE.set( "config", options + {sensor: index})
28restart
29
30UI. insert(UI.text).text= "Choose a resolution:"
31dropdownResolution = UI. insert(UI.dropdown)
32dropdownResolution.selection= session.resolutions.indexOf(session.resolution)
33dropdownResolution.values = session.resolutions.map(_ .0+ "x"+_ .1)
34dropdownResolution.onSelect = index ->
35STORAGE.set( "config", options + {resolution: session.resolutions[index]})
36restart
37
38quitBtn = UI. insert(UI.button)
39quitBtn.onClick = quit
40quitBtn.text = "quit"
这段伪代码虽然简单,但明确指出了所需的内容 。其中,对 API 的访问如CAMERA(摄像头)、NETWORK(网络)、UI(用户界面)和 STORAGE(存储)等都非常明显易懂 。
无需导入、无需 gradle、无需指定无用的用户界面文件、无需多个事实来源 。该文件非常简短,Thomas SIMON 甚至懒得将存储密钥命名为 "config" 。
Thomas SIMON 解释道,“伪代码假定是托管执行,就像 Kotlin 或 Java 一样,允许非常容易地使用高阶函数 。支持这种单文本文件应用程序并不需要什么新东西 。我们只需选择一种语言,如 Python/ target=_blank class=infotextkey>Python、Java 或 Kotlin,然后编写一个库来公开 API 。我们甚至可以开发一个标准的 Android 应用程序,作为操作系统来执行这些单文本文件应用程序 。但 Google 并不允许这样做 。从技术上讲,你可以进行动态代码加载,但一旦 Google 发现你可以让人们绕过 Play 商店来加载小于 1kB 的应用程序,你就完了 。此外,Google 和 Apple 已经在极力阻止 PWA(一种让网页拥有原生应用程序功能的技术)运行得太好 。”
对于 Thomas SIMON 而言,他大概只用了 10 分钟就写出了这段伪代码 。其中有 5 分钟是在网上查找如何在多部分 http 流中分离帧(获取信息的难度出乎意料) 。
就目前而言,其实通过一个 LLM(比如 ChatGPT,甚至是本地运行的 LLM)可以在 10 秒内写完这段代码,而且至少有一半的时间不会出错 。
经过 Gzip 压缩后,一个文本文件应用程序的大小为 688 字节 。
1$> gzip -k text_app; ls -lh
21, 5K text_app
3688text_app.gz
相比之下,Thomas SIMON 用 Android Studio 生成的 APK 只有 14.9MB 。
至于用户可能存疑的所有的 gradle 配置文件都在哪里?Thomas SIMON 表示,这些文件中 99% 的内容都是用来处理糟糕的抽象 。
最后的 1% 可能只是文件顶部的一些注释,如
// name:RemoteCam // author:Thomas SIMON // version:1.0 // icon: image/png;base64,ABC...对于安全性、兼容性和更新等问题,Thomas SIMO 解释道,这些问题都已经解决了 。
- 安全性:只需根据你信任的文件进行签名检查 。
- 兼容性:只需在文件顶部注释 minAndroidVersion 。
- 更新:替换应用程序文件即可 。
这些问题都不能由应用程序商店自行解决(应用程序本身只有 40 行) 。
结论
最后,Thomas SIMO 仅用了 40 行代码就开发了一个网络摄像头 App,并将代码开源在了 GitHub 上(https://github.com/Ruddle/RemoteCam) 。

文章插图
Thomas SIMO 表示,他用这款应用程序进行了两次视频通话,每次持续时间都在 1 小时 30 分钟以上,它的表现非常出色 。
经过自己开发了一款 App,他也终于明白为什么 DroidCam 试图推销付费模式,主要是因为开发一款 App 必须忍受的非必要工作和挫折实在太多,代码没写多少,但其中的工具安装、项目支持文件实在过于臃肿,最终导致你想向别人收费来寻求心理平衡罢了 。
来源:https://thomassimon.dev/ps/2
【把Android手机变成电脑摄像头,开发者倒苦水:40行代码搞定,但需要40个项目文件支持!】
推荐阅读
- 女流量top2!杨紫赵丽颖被认为可以把握市场流量,角色风格迥异!
- qq空间视频怎么保存到手机苹果手机 qq空间视频怎么保存到手机
- 手机对方听不到我说话怎么回事 荣耀手机对方听不到我说话怎么回事
- 手机耳机孔坏了解决方法
- 怎么取消来电提醒 苹果手机怎么取消来电提醒
- 李维嘉独居一人吃火锅,进门擦鞋底有洁癖,海涛:别把自己逼太紧
- 三维图怎么看 机械三维图怎么看
- 《好声音》导演柳骊:上海房产一条街、英国城堡,见面要没收手机
- 为何手机都不支持存储卡了?
- 手机耗电快怎么办?
