Flutter集成百度語音識別(Android端)實戰

今天和你們分享一下Flutter中集成百度語音識別Android端的過程,供你們進行參考。android

既然是Flutter集成,那首先就要建立一個Flutter項目,這個就不仔細講了,能夠參考Flutter中文的建立項目流程git

1、百度語音官網註冊應用信息

1.註冊百度帳號

首先註冊登錄百度AI開發平臺-語音識別,打開控制檯找到並點擊」語音技術「一欄 在這裏插入圖片描述 在這裏插入圖片描述github

2.建立註冊應用信息

填寫應用名稱(名稱隨意),類別隨意,選擇Android並填寫Android包名,點擊建立應用就建立完成了。 在這裏插入圖片描述markdown

3.查看應用信息

點擊第1步中的管理應用,能夠看到你建立的全部應用列表,能夠看到建立應用的AppID,API Key, Secret Key等信息,這些都須要在項目進行配置的。 在這裏插入圖片描述app

4.下載SDK

百度語音識別SDKoop

2、建立一個項目的Library

1.使用Android Studio打開項目Android文件

2.建立Library, File->New Module->選擇Android Library,填寫name(asr_plugin)

在這裏插入圖片描述

3.添加語音識別sdk

在asr_plugin中建立一個libs文件夾,複製(解壓下載的百度語音識別sdk文件/core/libs/***.jar)到剛建立的libs下測試

4.添加so文件

複製(解壓sdk文件/core/main/jniLibs)複製到asr_plugin/src/main下,刪除下面的armeabi,(由於Flutter沒有armeabi的so),刪除使用不到的庫文件,保留以下圖中文件便可 在這裏插入圖片描述gradle

5.AndroidManifest.xml配置權限及項目的APPID,API_KEY以及Secret_Key

在這裏插入圖片描述

6.在項目Android/app目錄下的build.grade文件中添加插件依賴

在這裏插入圖片描述

三.Android實現百度語音的識別功能

1.Library中實現百度識別功能

在這裏插入圖片描述

2.library的build.gradle中添加flutter依賴

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')

apply plugin: 'com.android.library'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

flutter {
    source '../..'
}
複製代碼

3.項目app/build.gradle中添加以下代碼,確保app與library中添加flutter.so 不衝突

defaultConfig中添加
ndk{
            abiFilters "arm64-v7a","arm64-v8a","x86_64","x86"
        }

//百度語音集成添加
    packagingOptions {
        // 確保app與asr_plugin都依賴的libflutter.so merge時不衝突@https://github.com/card-io/card.io-Android-SDK/issues/186#issuecomment-427552552
        pickFirst 'lib/x86_64/libflutter.so'
        pickFirst 'lib/x86/libflutter.so'
        pickFirst 'lib/arm64-v8a/libflutter.so'
        pickFirst 'lib/arm64-v8a/libapp.so'
        pickFirst 'lib/armeabi-v7a/libapp.so'
    }
複製代碼

在項目的MainActivity中進行註冊

在這裏插入圖片描述

4、Dart端實現語音功能管理

語音識別管理類

在這裏插入圖片描述

功能頁面使用

在這裏插入圖片描述

可能遇到的問題

一、識別語音,並且報錯語音識別錯誤,-3004,4004 解決:前往百度語音官網控制檯,領取一下額度,才能夠進行正常測試 在這裏插入圖片描述ui

Demo

Flutter仿攜程APP集成百度語音識別spa

以爲文章不錯的,給我點個贊哇,關注一下唄!

技術交流可關注公衆號【君偉說】,加我好友一塊兒探討

相關文章
相關標籤/搜索