春节在家一直闲着,今天有人给我发了一个小程序,即包你说。小程序是一个绕口令,很显然对于我这种 "n l" 不分的人说,这种绕口令也太难说了。因此我就想通过 python 脚本来实现。
整个流程比较简单,主要是通过 adb 截取手机屏幕,获取口令的区域,然后通过百度的 OCR API 去识别口令获取文字,然后通过百度语音 API 去合成语音,通过 adb 模拟点击屏幕长按事件,最后通过电脑的 windows media player 播放 mp3 文件就可以了。
adb
adb 可以通过开发者选项进行收集的控制。可以通过安卓手机或模拟器操作步骤里面的介绍安装 adb。在这个脚本里面,我们主要会用到两个命令:
百度 API
百度现在的确提供了很多 API,包括语音识别,语音合成以及 OCR 识别。可以在 http://yuyin.baidu.com/app 里面申请 API,通过创建应用并且申请 API 获取 APPID, APPKEY, SECRET_KEY。通过使用百度的 python sdk 就可以轻易实现:
运行
本次脚本其实并没有特别的难度,主要就是其中几个流程搞清楚,主要是有几点可以注意一下。第一点就是截图区域的获得,比如口令的截图区域以及按钮的位置。另外,为了方便直接调用电脑的 windows media player 播放音频文件,因此注意修改程序的路径以及音频文件的绝对路径。按照阅读链接中的 config-template 配置百度 API,设置成 config.yaml,这样为了是避免泄露百度 API 密钥的泄露。
结语
以上。
领取专属 10元无门槛券
私享最新 技术干货