一次绕口令引发的“血案

春节在家一直闲着,今天有人给我发了一个小程序,即包你说。小程序是一个绕口令,很显然对于我这种 "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 密钥的泄露。

结语

以上。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180217G0KZ8B00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券