用 PHP 來玩直播猜題小遊戲,一塊兒 happy coding.

最近朋友一直再玩百萬這種直播猜題的遊戲,網上也搜了不少項目,基本是python的天下了。 看網上的例子,說一下總體流程。php

adb 截圖 --> 裁剪圖片只剩下題目和選項 ---> 請求百度aip接口 ---> 返回的題目和選項文字 ---> 再去捉取百度百度或者百度相關 && 問題+選項捉取匹配數 ---> 輸出幫助

本身擼了一個PHP版本的,如今有幾個問題比較明顯要解決的。大夥有什麼想法給我建議 :satisfied:,有空的大神一塊兒寫代碼,哈哈。 說一下問題,如今程序運行一次平均須要 6s 左右(gif 圖中顯示 9s 多)是由於我在錄視頻,加上渣電腦,硬盤讀寫慢。 這 6s 的時間分配大概是這樣的。html

  • 有將近 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操做,也許會更快。可是仍是出現圖片的那個錯誤,待各位大神幫忙驗證。是否是我這的問題python

// 獲取二進制輸出留
$output = shell_exec("adb shell screencap -n");
// do something

還有另外一個比較吃時間的操做是在請求百度問題,三個相關匹配+一個問題匹配,這個也須要優化。git


最後上項目地址,在努力改代碼中!!!有興趣的朋友一塊兒coding DavidNineRoc/million-herogithub

adb環境

  • gif圖顯示時間這麼久的緣由是開着錄屏,電腦卡頓,硬盤讀寫只有 350k/s 速度
    • 執行php test有可能出現的狀況
  • adb 環境目錄未添加
  • 手機未鏈接
    • 手機拔出USB從新鏈接,開啓調試模式
    • 模擬器的話重啓

adb環境

  • 成功 adb環境
  • php artisan若是執行失敗,請Issure
    adb環境
相關文章
相關標籤/搜索