Android黑科技之微信语音助手-长辈关怀利器

前段时间在跟一个长辈交流过程中发现他不识字。但是能听懂普通话。虽然能正常使用微信进行语音聊天。但是文字认不出来,朋友圈也只能看图片。这无疑少了许多乐趣。而且通过进一步沟通了解到如果是工作日有什么事找子女咨询,因为在上班子女也不方便使用语音进行回复。这无疑加大了沟通障碍。于是我就开发了这款App供他使用,方便将微信聊天的文字和朋友圈的文字转换成语音播出。现在把App开源出来,希望能帮到更多的有类似困扰的长辈。

源码地址
App下载地址

  • 由于App使用了无障碍服务所以首先要开启App的无障碍服务权限
    在这里插入图片描述
  • 然后开启App后台弹出界面权限

重要因为Android高版本无界面无法读取剪切板的数据,后台弹出界面是为了获取读取刚刚复制的数据进行播报

在这里插入图片描述

  • 以上必要权限设置完成后打开App首页点击初始化语音引擎待弹出引擎初始化成功后。即可开始使用。

在这里插入图片描述

  • 使用方式很简单在微信窗口复制想要播报的文字即可
    在这里插入图片描述

App实现的核心原理就是当在使用微信时读取剪切板复制的信息然后使用语音引擎播放。

下面的核心代码实现

//检测到微信App有复制行为后启动语音助手播报界面
override fun onAccessibilityEvent(event: AccessibilityEvent?) {
        if(event?.eventType == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED ){
            Log.d(TAG, "onAccessibilityEvent:text: ${event.text}")
            val rootNodeInfo = rootInActiveWindow
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 &&event.text.isNotEmpty()&&event.text[0].contains("已复制")) {                
                val intent = Intent(this,SpeakShowActivity::class.java)
                intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
                applicationContext.startActivity(intent)
            }           
        }      
    }
//获取到剪切板第一条数据后播报
 object :Handler(Looper.getMainLooper()){}.postDelayed({
           SpeakUtil.speakFirstClipData()
        },500)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值