1. 程式人生 > >Android 基於百度語音的語音互動功能(推薦)

Android 基於百度語音的語音互動功能(推薦)

最近在開發android的專案,在專案需求中要用到語音喚醒功能。之前都沒接觸過,今天小編就給大家分享android基於百度語音的語音互動功能,非常不錯,感興趣的朋友一起看看吧專案裡面用到了語音喚醒功能,前面一直在用訊飛的語音識別,本來打算也是直接用訊飛的語音喚醒,但是訊飛的語音喚醒要收費,試用版只有35天有效期。只好改用百度語音,百度語音所有功能免費,功能也比較簡單實用,包括語音識別,語音合成和語音喚醒,正好可以組成一套完整的語音互動功能。

效果圖:

首先是語音喚醒功能,說出關鍵詞即可叫語音識別,喚醒成功會有語音提示,這裡採用了百度語音的合成功能。然後百度語音識別會根據wifi情況自動切換線上或者離線識別,但是離線識別只能識別已經匯入的關鍵詞,而且離線第一次識別需要聯網,識別成功,同樣會有語音提示。效果圖gif沒有聲音,Toast顯示的時候就是語音提示的內容。

這裡說一點,百度語音的demo裡給的語音喚醒是在onResume()開始喚醒監聽,喚醒成功後在onPause()裡就停止喚醒監聽。而我現在要在喚醒成功後彈出語音識別的UI介面,所以彈出UI的同時就會停止喚醒監聽。如果語音識別成功,UI介面消失,喚醒監聽會重新開始,此時說出喚醒詞即可重新喚醒。但是如果識別失敗,封裝好的UI介面會變成下圖情況,這時候就要手動點選重試或者取消才可以,不符合全語音互動的理念。為了解決這個情況,要將停止喚醒監聽寫到onStop()裡,這樣即使語音識別失敗,也可以重新喚醒。

具體的整合步驟官方文件裡都有,也可以參考下面的文章

注:我這裡語音識別和語音合成都用到了,所以官網下的兩個sdk都要匯入到工程裡,這裡還有個小問題,正常來說,Jar包匯入到工程之後,還要將assert和jniLibs資料夾放到工程裡,我這裡只放了語音識別的assert資料夾,jniLibs資料夾我都沒放入工程裡,這樣可以使用。如果我將語音識別和語音合成的assert和jniLibs都放到工程裡,反而會報下面的錯誤,不知道為什麼。

java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.speech.easr.easrNativeJni.WakeUpFree:()I

MainActivity:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

相關推薦

Android 基於語音語音互動功能(推薦)

最近在開發android的專案,在專案需求中要用到語音喚醒功能。之前都沒接觸過,今天小編就給大家分享android基於百度語音的語音互動功能,非常不錯,感興趣的朋友一起看看吧專案裡面用到了語音喚醒功能,前面一直在用訊飛的語音識別,本來打算也是直接用訊飛的語音喚醒,但是

Android 基於定位sdk ,獲取城市,使用json解析天氣

關於百度定位sdk的使用 參考官方文件 https://lbsyun.baidu.com/index.php?title=android-locsdkJSON 解析 參考了 https://blog.csdn.net/double2hao/article/details/68

Unity中使用中文語音識別功能

來源 openapi ner key nbsp 語音識別 ann .text esp 下面是API類 Asr.cs using System; using System.Collections; using System.Collections.Generic;

基於語音和圖靈的交互機器人

好用 font 想要 ext auth for res 希望 簡單 1.準備工作: (1)硬件:樹莓派3b usb麥克風 音響 (2) 軟件:百度語音api 圖靈機器人api python2或3(樹莓派自帶)mplayer 申請一個百度語音賬號,創建一個

基於雲實現微信服務號內文字語音互轉STT TTS

.com wid ech 設置 errcode creat ice 遍歷 組裝 先上效果圖: 使用百度語音識別和語音合成兩個接口實現 1.語音識別STT 用戶微信輸入,調用百度api,得到識別文本。 2.語音合成TTS 用戶輸入問題,調用百度api,得到mps音頻,使用開

基於TTS的語音點名系統

.cpp #include "appp.h" #include "ui_appp.h" #include <QDebug> #include <QMessageBox> #include <QStandardItemModel> #include &l

android整合語音使用離線語音是報(-111)錯誤是解決辦法

android6.0以上在讀寫sd時需要加上執行時許可權判斷,使用百度語音demo出現上述錯誤很可能就是沒有加上執行時許可權判斷,導致百度的 bd_etts_speech_female.dat,bd_etts_speech_male.dat,bd_etts_text.dat

Android定位&地圖&導航——基於地圖實現的定位功能

public class MyApplication extends Application{ public LocationClient mLocationClient = null; public GeofenceClient mGeofenceClient; publi

iOS:語音識別具體的封裝:識別、播放、進度刷新

stat app span nsdata cst 放音 datawit har resp 一、介紹 以前做過訊飛語音識別,比較簡單,識別率很不錯,但是它的識別時間是有限制的,最多60秒。可是有的時候我們需要更長的識別時間,例如朗誦古詩等功能。當然訊飛語音也是可以通過曲線救

Android開發-基於地圖API開發仿滴滴出行APP介面的實現

前 言 近年來,由於移動網際網路快速的發展以及基於移動裝置的APP的普及,移動網際網路改變了人們的生活方式。從線上的電子支付到線下的出行,移動網際網路是當今社會人們生活不可或缺的一部分,而線下出行的網約車的出現極大便利了人們的出行,雖然它飽受了很大的爭議,但不可否認的是網約車的出現是

智慧語音引用1

1.登入百度開發者賬號,申請語音應用 https://console.bce.baidu.com/ai/ 2.建立語音應用,建立後檢視apikey,secretkey 應用名稱

基於AI使用H5實現呼叫攝像頭進行人臉註冊、人臉搜尋功能(Java)

  人臉註冊、人臉搜尋使用百度AI介面。不支援H5活體檢測(需要活體檢測請參考百度AI-H5活體檢測) 前期準備工作 1.http://ai.ai/ 註冊賬戶 實名認證 建立人臉應用 儲存APPID、APIKEY、SECRETKEY 三個值備用 2.

Android定位&地圖&導航——基於地圖移動獲取位置和自動定位

public class MainActivity extends Activity { public MyApplication app; static MapView mMapView = null; public MKMapViewListener mMapListen

Android定位&地圖&導航——基於地圖,實現自定義圖示繪製並點選時彈出泡泡

public class MainActivity extends Activity { private EditText txtAddr; // 定位相關 LocationClient mLocClient; LocationData locData = nul

Android 使用鷹眼實現運動軌跡功能

鷹眼軌跡是百度開放平臺最新推出的一套高效能軌跡儲存和查詢服務。百度已做好如此強大的功能,我們豈能不用。 使用鷹眼軌跡,一種方法是完全整合百度鷹眼軌跡的SDK。此方法參考http://lbsyun.baidu.com/index.PHP?title=Android-yingyan 開發指南整合即可。 接下

基於地圖SDK整合的一些功能

最近開發的專案用到了地圖,並在地圖上顯示某些座標位置的標記圖示,點選圖示來顯示此座標處的一些資訊,之後我從百度地圖卡房平臺下載了百度地圖的SDK和Demo,並結合API總結了一下幾點內容,實現了下面的幾個功能: (1)最基本功能,定位到當前位置 並獲

android實現地圖自定義彈出視窗功能

基本原理就是用ItemizedOverlay來新增附加物,在OnTap方法中向MapView上新增一個自定義的View(如果已存在就直接設為可見),下面具體來介紹我的實現方法: 一、自定義覆蓋物類:MyPopupOverlay,這個類是最關鍵的一個類ItemizedOverlay,用於設定Marke

Android地圖點聚合功能

在百度地圖的開發說明中有描述到點聚合功能: 點聚合功能 自v3.6.0版本起,新增點聚合功能,可通過縮小地圖層級,將定義範圍內的多個標註點,聚合顯示成一個標註點,並在MarkerClusterDemo中開放原始碼,方便開發者自行修改。   // 初始化點聚合管理

android 地圖離線地圖功能

最近做了一個百度地圖離線地圖的功能,雖然功能實現了,但過程中也碰到了一些問題。首先,看看效果圖吧。 1、離線地圖相關API MKOfflineMap類 主要的一個類,提供了離線地圖的管理功能,例如,下載,暫停、更新,刪除等功能。每次只允許一

基於推送android notification的使用之合併通知欄

建立Notification public void showmynotification(Context context,int num) { NotificationManager manager = (NotificationManager)context. ge