更新记录

1.0.0(2025-06-27)

yao-speech

开发文档

uni-app uts 插件 科大讯飞离线语音合成最新版

代码里面直接调用

    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=false
        SpeechInit(status => {
            console.log("status", status);
            state.status = status
            if (status.includes("SDK授权成功")) {
                 state.isNext = false
            }else{
                 state.isNext = true
            }
        });
    }
    //开启语言合成监听
    const aiLister = () => {
        // deleteAllOutPutDir() //删除原来的录音文件
        state.isBeginLister=true
        SpeechListerTTS(status => {
            state.outPath = status
            if (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 无法使用 请联系我微信demo1223,因为资源为离线资源,每次申请最多可以装载10个终端之后,就无法使用了,我需要重新替换资源包 demo 里面resource 文件夹下为对应的 aar资源包 (科达讯飞 官方文档 ) 复制resource文件夹下文资源到SDK的工作目录(示例代码工作路径为:”/sdcard/iflytek/aikit“)下,即为SDK初始化中的workDir。 资源导入完成后,至此已完成合成能力接入,可运行测试合成效果。


平台兼容性

uni-app(4.45)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

uni-app x(4.45)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

yao-speech

开发文档

UTS 语法 UTS API插件 UTS uni-app兼容模式组件 UTS 标准模式组件 Hello UTS

隐私、权限声明

1. 本插件需要申请的系统权限列表:

"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>", "<uses-permission android:name=\"android.permission.MANAGE_EXTERNAL_STORAGE\"/>", "<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>", "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>"

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问