文章目錄
- 【Android】Android 集成訊飛SDK實作語音播報
- 1、集成訊飛語音依賴
- 2、封裝訊飛語音工具類
- 3、MainActivity初始化訊飛語音
- 4、呼叫語音播報
- 微信公眾號
【Android】Android 集成訊飛SDK實作語音播報
1、集成訊飛語音依賴
登錄訊飛語音平臺,創建一個應用,并領取免費的在線語音合成,總的可以領取到55萬條,有效期一年

然后下載SDK放到lib下
implementation files('libs/Msc.jar')
2、封裝訊飛語音工具類
import android.os.Bundle;
import com.iflytek.cloud.SpeechConstant;
import com.iflytek.cloud.SpeechError;
import com.iflytek.cloud.SpeechSynthesizer;
import com.iflytek.cloud.SpeechUtility;
import com.iflytek.cloud.SynthesizerListener;
import com.zhhy.qneatrice.app.cashier.MainActivity;
/**
* 訊飛語音
*
* @author Tellsea
* @date 2021-10-18
*/
public class MscUtils {
public static void initIflytek() {
SpeechUtility.createUtility(MainActivity.CONTEXT, SpeechConstant.APPID + "=應用APPID");
}
public static void speekText(String text) {
//1. 創建 SpeechSynthesizer 物件 , 第二個引數: 本地合成時傳 InitListener
SpeechSynthesizer mTts = SpeechSynthesizer.createSynthesizer(MainActivity.CONTEXT, null);
//2.合成引數設定,詳見《 MSC Reference Manual》 SpeechSynthesizer 類
//設定發音人(更多在線發音人,用戶可參見 附錄 13.2
mTts.setParameter(SpeechConstant.VOICE_NAME, "xiaoyan"); // 設定發音人
mTts.setParameter(SpeechConstant.SPEED, "50");// 設定語速
mTts.setParameter(SpeechConstant.VOLUME, "100");// 設定音量,范圍 0~100
mTts.setParameter(SpeechConstant.ENGINE_TYPE, SpeechConstant.TYPE_CLOUD); //設定云端
//3.開始合成
mTts.startSpeaking(text, new MySynthesizerListener());
}
static class MySynthesizerListener implements SynthesizerListener {
@Override
public void onSpeakBegin() {
}
@Override
public void onSpeakPaused() {
}
@Override
public void onSpeakResumed() {
}
@Override
public void onBufferProgress(int percent, int beginPos, int endPos,
String info) {
// 合成進度
}
@Override
public void onSpeakProgress(int percent, int beginPos, int endPos) {
// 播放進度
}
@Override
public void onCompleted(SpeechError error) {
}
@Override
public void onEvent(int eventType, int arg1, int arg2, Bundle obj) {
}
}
}
3、MainActivity初始化訊飛語音
// 初始化訊飛
MscUtils.initIflytek();
4、呼叫語音播報
MscUtils.speekText("識別失敗,正在重試");
微信公眾號

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/341050.html
標籤:其他
