一:前期准工作
(1)进入百度开放平台,注册账号,创建应用,拿到应用相对应的 AppID,API密钥,密钥
(2)配置相关信息
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<meta-data android:name="com.baidu.speech.APP_ID"android:value="9788136" /><meta-dataandroid:name="com.baidu.speech.API_KEY"android:value="0GjQNO5H4pGPf9HyA3AmZEbz" /><meta-dataandroid:name="com.baidu.speech.SECRET_KEY"android:value="db981ef3ec647ba8a09b599ad7447a24" />
(3)配置唤醒词
把下载好的 WakeUp.bin 放入到项目的 assets 下。
(4)使用
private var myWakeup: MyWakeup? = null
private var handler: Handler? = null /*** 设置语音唤醒功能*/
private fun initWakeUp() {handler = object : Handler() {override fun handleMessage(msg: Message) {super.handleMessage(msg)handleMsg(msg)}}MyLogger.setHandler(handler)val listener: IWakeupListener = RecogWakeupListener(handler)myWakeup = MyWakeup(context, listener)
}/*** 接收到唤醒词并唤醒成功** @param msg*/
private fun handleMsg(msg: Message) {if (msg.obj != null) {val name = msg.obj.toString()Log.d("name", "---" + name)if (name.indexOf("唤醒成功") != -1) {FmxosAudioPlayer.getInstance(mainActivity).stop()EventBus.getDefault().postSticky("weakUp")startActivity(SpeakOsActivity::class.java)}}
}/*** 开启唤醒*/
private fun start() {val params: MutableMap<String, Any> = HashMap()params[SpeechConstant.WP_WORDS_FILE] = "assets:///WakeUp.bin"myWakeup!!.start(params)
}/*** 结束唤醒*/
private fun stop() {myWakeup!!.stop()
}
直接复制以上代码就可实现唤醒功能,后附上百度唤醒 jar 包和封装的唤醒方法。