用 PHP 来玩直播猜题小游戏,一起 happy coding.

最近朋友一直再玩百万这种直播猜题的游戏,网上也搜了很多项目,基本是python的天下了。
看网上的例子,说一下整体流程。

adb 截图 --> 裁剪图片只剩下题目和选项 ---> 请求百度aip接口 ---> 返回的题目和选项文字 ---> 再去捉取百度百度或者百度相关 && 问题+选项捉取匹配数 ---> 输出帮助

自己撸了一个PHP版本的,现在有几个问题比较明显要解决的。大伙有什么想法给我建议 :satisfied:,有空的大神一起写代码,哈哈。
说一下问题,现在程序运行一次平均需要 6s 左右(gif 图中显示 9s 多)是因为我在录视频,加上渣电脑,硬盘读写慢。
这 6s 的时间分配大概是这样的。

  • 有将近 3s 左右的时间浪费在了截图,(可能是我电脑渣,每台电脑可能都不一样)
    shell_exec("adb shell screencap -p /cache/screen.png");
    shell_exec("adb pull {$this->tmpFile} {$this->cacheFile}");

    这里是先截图保存在手机的缓存文件,然后在pull回电脑,这两个操作极为消耗时间。
    (网上有一步操作的,adb shell screencap -p screen.png或者adb shell screencap -p > screen.png
    我没用的原因是因为我电脑显示这个,(!不能再吐槽我的电脑了)
    file
    其实我的想法是直接这样的:直接获取二进制输出,然后去请求图片识字接口,这样少了io操作,也许会更快。但是还是出现图片的那个错误,待各位大神帮忙验证。是不是我这的问题

    // 获取二进制输出留
    $output = shell_exec("adb shell screencap -n");
    // do something

    还有另一个比较吃时间的操作是在请求百度问题,三个相关匹配+一个问题匹配,这个也需要优化。


    最后上项目地址,在努力改代码中!!!有兴趣的朋友一起coding
    DavidNineRoc/million-hero

adb环境

  • gif图显示时间这么久的原因是开着录屏,电脑卡顿,硬盘读写只有 350k/s 速度
    • 执行php test有可能出现的情况
  • adb 环境目录未添加
  • 手机未连接
    • 手机拔出USB重新连接,开启调试模式
    • 模拟器的话重启

adb环境

  • 成功
    adb环境
  • php artisan如果执行失败,请Issure
    adb环境
本作品采用《CC 协议》,转载必须注明作者和本文链接
当神不再是我们的信仰,那么信仰自己吧,努力让自己变好,不辜负自己的信仰!
本帖由系统于 6年前 自动加精
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6

截图多蛋疼啊,直接取内容去查不好么。。。。

6年前 评论

@陈欢 内容去哪里获取?

6年前 评论

很早写了个python版本 命令截图,取图,查询api 没做结果查询而是弹出百度简单搜索。

6年前 评论

@lvan 截图感觉还不够自动,然后上 github 发现了一个 js 版本的,还不错,轮询接口获取答案。
https://github.com/qishibo/totop

file
最主要是快啊,有时两三秒就行了:relieved:

6年前 评论

不用截图的,可以直接抓接口包就行。

6年前 评论

@madaima 对这方面的知识为零 :flushed:

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
40
粉丝
157
喜欢
703
收藏
337
排名:31
访问:22.1 万
私信
所有博文
社区赞助商