V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
w568w
V2EX  ›  Android

让任意国产 Android 的语音助手支持控制智能家居等自定义指令

  •  
  •   w568w · 1 天前 · 831 次点击

    如题,最近换了 iQOO ,发现 OriginOS 5 这个「蓝心小 V 」基本是半残废,只能控制自家的 VIVO 智慧生活的设备。而我的家居全在米家上,一个也添加不进来。

    怎么才能通过语音控制米家的设备呢?

    我想了一个奇巧淫技:Android 有无障碍服务,可以读取任意应用的内容,那监听语音助手界面上实时识别出来的文字,遇到关键词就打断后续识别,执行自定义的指令,不就可以了?

    于是我就写了个简单的 App ,会在后台长时运行无障碍服务,识别到我说「开灯」或者「关灯」的时候,就会退出语音助手,然后调用我的 HomeAssistant (接入了米家)的 RESTful API ,从而实现开关灯。

    我测试了一下,很稳定,可以无感识别。启用无障碍服务后,在锁屏界面也可以正常监听语音助手。

    项目在这里: https://github.com/w568w/VoiceTrigger


    目前还是个很简单的 demo ,安装完连界面都没有,默认是控制我家的灯(当然 secret 没传到仓库里,哈哈)。

    需要定制或者了解原理的朋友可以直接看服务实现代码。自己简单修改一下请求的 API 。

    理论上也可以适配到其他 ROM 的语音助手上。之前研究过 MIUI 的,应该可以用类似的方法实现。

    5 条回复    2025-05-15 09:43:36 +08:00
    schinnerarnoldo5
        1
    schinnerarnoldo5  
       1 天前
    很强
    hanguofu
        2
    hanguofu  
       1 天前
    请问对于没有 语音助手 的其它 ROM/手机 ,应该怎样识别出文字呢 ?
    w568w
        3
    w568w  
    OP
       21 小时 22 分钟前
    @hanguofu 这是另一个话题了。我需求的前提就是假设用的是有语音助手的国产 ROM 。

    没有语音助手的话,那多半是第三方 ROM 。这种情况下先看看语音唤醒 DSP 是否支持,如果支持的话直接刷 Google Assistant 就行了;否则就只能自己用第三方的语音助手了,比如小爱同学 App 。
    ajan
        4
    ajan  
       12 小时 53 分钟前
    牛!
    shunia
        5
    shunia  
       42 分钟前
    这么天才的想法,那是不是可以直接做一个语音助手 app ?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5750 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:26 · PVG 10:26 · LAX 19:26 · JFK 22:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.