首頁 > 軟體

uniapp語音識別(訊飛語音)轉文字

2022-12-25 14:00:37

常見應用:遊戲介面 文字語音、商城導航欄的語音輸入搜尋方塊、聊天介面的語音文字輸入等.

引自官方 unicloud官方語音

語音輸入介面可使得網頁開發人員能快速呼叫裝置的麥克風進行語音輸入,而不需要安裝額外的瀏覽器外掛。規範不定義底層語音識別引擎的技術架構,瀏覽器實現可基於語音識別伺服器或本地內建語音識別模組。

設定SDK–識別訊飛語音(如果用不了訊飛語音,可換百度語音,自己去看接入檔案)

進入專案根目錄下的 manifest.json -> App模組設定->speech 勾選 訊飛語音識別,如下圖所示:

index.vue檔案寫入

<template>
	<view class="content">
		<image class="logo" src="/static/logo.png"></image>
		<button @click="voiceBegain">訊飛語音識別</button>
		<view v-if="words1">
			這是searchValue:{{words1}}
		</view>
		<view v-if="words2">
			這是searchText:{{words2}}
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				title: 'Hello',
				words1: '',
				words2: ''
			}
		},
		onLoad() {

		},
		methods: {
			send() {
				uniCloud.callFunction({
					name: 'sendcode',
					success: (e) => {
						console.log('這是傳送驗證碼', e);
					}
				})
			},
			// 呼叫訊飛語音識別
			voiceBegain() {
				let _this = this;
				let options = {};
				//#ifdef APP-PLUS || APP-PLUS-NVUE
				options.engine = 'iFly';
				options.punctuation = false; // 是否需要標點符號 
				options.timeout = 10 * 1000; //語音錄入持續時長
				plus.speech.startRecognize(options, function(s) {
					_this.searchText = _this.searchText + s;
					console.log(_this.searchText) //拿到語音識別的結果
					//下面是邏輯  
					_this.searchValue = s;
					_this.searchText = ""
					
					// 列印輸出結果
					 _this.words1 = _this.searchValue
					 _this.words2 = _this.searchText
					 
					// 關閉語音
					plus.speech.stopRecognize();
				});
				//#endif
				// #ifdef H5
				alert("只有h5平臺才有alert方法")
				// #endif
			}
		}
	}
</script>

<style>
	.content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.logo {
		height: 200rpx;
		width: 200rpx;
		margin-top: 200rpx;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 50rpx;
	}

	.text-area {
		display: flex;
		justify-content: center;
	}

	.title {
		font-size: 36rpx;
		color: #8f8f94;
	}
</style>

如圖:

執行雲打包自定義偵錯基座生成 apk 檔案,apk安裝到手機上;

點選button按鈕,觸發自定義回撥函數

此時頁面輸出

注意:

普通瀏覽器裡沒有 plus 環境,只有 HBuilder 真機執行和打包後才能執行plus api。否則報錯:

以上就是uniapp語音識別(訊飛語音)轉文字的詳細內容,更多關於uniapp語音識別(訊飛語音)轉文字的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com