uni-app uts 插件 android 端 科大讯飞离线语音合成最新版
uni-app uts 插件 科大讯飞离线语音合成最新版
插件地址 https://ext.dcloud.net.cn/plugin?id=24070
代码里面直接调用
import {SpeechInit,SpeechListener,SpeechListerTTS,BeginTTS,jumpToPermissionPage, //android 11 之后必须获取操作全部文件之后权限才可以操作文件deleteAllOutPutDir,startPlay,stopPlay,getAllFiles ,//获取具体文件夹下的数据 ,不给具体文件名称,获取当前语音合成工作区的文件(/sdcard/iflytek/xtts/output)unInitAi, // 释放资源 AiHelper.getInst().unInit();unInit //逆初始化 AiHelper.getInst().engineUnInit("e2e44feff")} from '@/uni_modules/yao-speech';
具体方案使用指南 具体细节自己看demo
const startLister = () => {state.isBeginLister=falseSpeechInit(status => {console.log("status", status);state.status = statusif (status.includes("SDK授权成功")) {state.isNext = false}else{state.isNext = true}});}//开启语言合成监听const aiLister = () => {// deleteAllOutPutDir() //删除原来的录音文件state.isBeginLister=trueSpeechListerTTS(status => {state.outPath = statusif (status.includes("合成音频存放路径")) {const arr = status.split('==');console.log(arr);startPlay(arr[1])}});}//const deleteAllOutPutDirAudio = () => {deleteAllOutPutDir()}const stopPlayAudio = () => {stopPlay()}const RunTTSHandle = () => {if(state.isBeginLister){console.log("state.inputText", state.inputText)BeginTTS(state.inputText);}else{uni.showToast({title: '请先开启语音合成监听',duration: 1000,icon: 'none'});}}const handleInput = (e) => {state.inputText = e.detail.value}const jumpToPermissionPageHandle = () => {jumpToPermissionPage()}const allRecorderFilesAction = () => {getAllFiles("/sdcard/iflytek/xtts/output",res => {console.log("录音文件输入", res)state.listData = res})}const playFile = (path) => {startPlay(path)}const unInitAiAction = () =>{unInitAi()}const unInitAction = () =>{unInit()}
**demo 无法使用 请联系我,因为资源为离线资源,每次申请最多可以装载10个终端之后,就无法使用了,我需要重新替换资源包
demo 里面resource 文件夹下为对应的 aar资源包 **