今天和你們分享一下Flutter中集成百度語音識別Android端的過程,供你們進行參考。android
既然是Flutter集成,那首先就要建立一個Flutter項目,這個就不仔細講了,能夠參考Flutter中文的建立項目流程git
首先註冊登錄百度AI開發平臺-語音識別,打開控制檯找到並點擊」語音技術「一欄
github
填寫應用名稱(名稱隨意),類別隨意,選擇Android並填寫Android包名,點擊建立應用就建立完成了。 markdown
點擊第1步中的管理應用,能夠看到你建立的全部應用列表,能夠看到建立應用的AppID,API Key, Secret Key等信息,這些都須要在項目進行配置的。 app
百度語音識別SDKoop
在asr_plugin中建立一個libs文件夾,複製(解壓下載的百度語音識別sdk文件/core/libs/***.jar)到剛建立的libs下測試
複製(解壓sdk文件/core/main/jniLibs)複製到asr_plugin/src/main下,刪除下面的armeabi,(由於Flutter沒有armeabi的so),刪除使用不到的庫文件,保留以下圖中文件便可 gradle
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 '../..'
}
複製代碼
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'
}
複製代碼
一、識別語音,並且報錯語音識別錯誤,-3004,4004 解決:前往百度語音官網控制檯,領取一下額度,才能夠進行正常測試 ui
以爲文章不錯的,給我點個贊哇,關注一下唄!
技術交流可關注公衆號【君偉說】,加我好友一塊兒探討