更新记录

1.0.1(2025-03-30)

更新使用文档

1.0.0(2025-03-30)

完成接入阿里云的语音识别、语音播放、语音合成


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.21,Android:4.4,iOS:不支持,HarmonyNext:不支持 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

fy-alispeech

阿里云的语音识别、语音合成、语音播报插件

插件对外暴露FyPermission和FySpeechRecognizer和FyTts三个类

开发文档

UTS 语法 UTS API插件 UTS 组件插件 Hello UTS

1.FyPermission使用说明

FyPermission授权的事件说明

方法 参数 返回 说明
check void Boolean 判断权限是否已经被用户授予
requestPermission RequestPermissionOptions void 请求系统权限

RequestPermissionOptions 说明

参数名 必填 返回 说明
success (res: string) => void 获取权限成功
fail (res: string) => void 获取权限失败;获取失败后再次调起授权会提示打开权限设置页面

例子

import { FyPermission } from '@/uni_modules/fy-alispeech';
const permis = new FyPermission();
permis.requestPermission({
    success: function (res) {
        console.log(res);
    },
    fail: function(res){
        console.log(res);
    }
})

2.FyTts使用说明

构造函数OBJECT 参数说明

参数名 类型 必填 说明
appKey string 项目Appkey
accessKey string accessKey需要和accessKeySecret搭配使用, 和token参数互斥, 推荐使用token
accessKeySecret string accessKey需要和accessKeySecret搭配使用, 和token参数互斥, 推荐使用token
token string 推荐使用,由服务器生成返回
stsToken string
fontName string 发音人
speed_level string 调整语速, 语速倍速区间为[0.5, 1.0, 2.0]
pitch_level string 调整音调, [-500,500],默认0
volume string 调整音量, (0,2],默认1.0

TTSFnOptions 参数说明

参数名 类型 必填 说明
start Function 发言开始触发
done string 发言完成触发

TTSSpeekOptions 参数说明

参数名 类型 必填 说明
text Function 发言文本

接口事件说明

方法 参数 返回 说明
init TTSFnOptions void 初始化定义事件监听
start TTSSpeekOptions void 启动语音合成,并播报语音
pause void void 暂停播报
resume void void 继续播报
stop void void 停止播报,(需要重新实例化)
relase void void 停止播报,并销毁数据(需要重新实例化)

例子

<template>
    <view class="content">
        <button @click="handlePlayTts">开始播放</button>
        <button @click="handlePauseTts">暂停播放</button>
        <button @click="handleRePlayTts">重新播放</button>
        <button @click="handleRealseTts">释放播放</button>
    </view>
</template>

<script>
import { FyPermission, FyTts, FySpeechRecognizer } from "@/uni_modules/fy-alispeech"
let ttsHandle: FyTts | null = null;
export default {
    data() {
        return {

        }
    },
    onReady() {
        const permis = new FyPermission();
        permis.requestPermission({
                ttsHandle = new FyTts({
                    appKey: 'xxx',
                    accessKey: 'xxx',
                    accessKeySecret: 'xxx',
                    // token: '',
                    // stsToken: '',
                    // fontName: '',
                    // speed_level: '',
                    // pitch_level: '',
                    // volume: '',
                })
                ttsHandle?.init({
                    done(uuid) {
                        console.log('播放结束=================',uuid)
                    }
                })
            }
        })
    },
    methods:{
        handlePlayTts() {
            ttsHandle?.start({ text: '你好啊,小陈' });
        },
        handlePauseTts() {
            ttsHandle?.pause();
        },
        handleRePlayTts() {
            ttsHandle?.resume();
        },
        handleRealseTts() {
            ttsHandle?.relase();
        }
    }
}
</script>

3.FySpeechRecognizer使用说明

构造函数OBJECT 参数说明

参数名 类型 必填 说明
appKey string 项目Appkey
accessKey string accessKey需要和accessKeySecret搭配使用, 和token参数互斥, 推荐使用token
accessKeySecret string accessKey需要和accessKeySecret搭配使用, 和token参数互斥, 推荐使用token
token string 推荐使用,由服务器生成返回

startOptions 参数说明

参数名 类型 必填 说明
listener Function 监听语音识别

接口事件说明

方法 参数 返回 说明
startDialog startOptions boolean 开始识别
stopDialog void void 结束识别
release void void 释放

综合例子

<template>
    <view class="content">
        <button @click="handlePlay">开始识别</button>
        <button @click="handleStop">停止识别</button>
        <button @click="handleRealse">释放识别</button>

        <button @click="handlePlayTts">开始播放</button>
        <button @click="handlePauseTts">暂停播放</button>
        <button @click="handleRePlayTts">重新播放</button>
        <button @click="handleRealseTts">释放播放</button>
    </view>
</template>

<script>
import { FyPermission, FyTts, FySpeechRecognizer } from "@/uni_modules/fy-alispeech"
let recogHandle: FySpeechRecognizer | null = null;
let ttsHandle: FyTts | null = null;
export default {
    data() {
        return {
        }
    },
    onReady() {
        const permis = new FyPermission();
        permis.requestPermission({
            success: function () {
                recogHandle = new FySpeechRecognizer({
                    appKey: 'xxx', // 项目Appkey
                    accessKey: 'xxx', // accessKey需要和accessKeySecret搭配使用, 和token参数互斥, 推荐使用token
                    accessKeySecret: 'xxx',
                    // token: 'xxx',
                });
                ttsHandle = new FyTts({
                    appKey: 'xxx',
                    accessKey: 'xxx',
                    accessKeySecret: 'xxx',
                    // token: '',
                    // stsToken: '',
                    // fontName: '',
                    // speed_level: '',
                    // pitch_level: '',
                    // volume: '',
                })
                ttsHandle?.init({
                    done(uuid) {
                        console.log('播放结束=================',uuid)
                    }
                })
            }
        })
    },
    methods:{
        handlePlay() {
            recogHandle?.startDialog({
                listener(res) {
                    console.log('================', res)
                }
            });
        },
        handleStop() {
            recogHandle?.stopDialog();
        },
        handleRealse() {
            recogHandle?.release();
        },

        handlePlayTts() {
            ttsHandle?.start({ text: '你好啊,小陈' });
        },
        handlePauseTts() {
            ttsHandle?.pause();
        },
        handleRePlayTts() {
            ttsHandle?.resume();
        },
        handleRealseTts() {
            ttsHandle?.relase();
        }
    }
}
</script>

重点注意事项

  1. 获取token文档[https://help.aliyun.com/zh/isi/getting-started/obtain-an-access-token-1/]
  2. AccessKey及AccessKeySecret在登录阿里云的控制台右上角鼠标放上去可以看到accessKey按钮,点击进去就可以创建了。
  3. 开发前先阅读一下阿里云的文档,看着挺难受的[https://help.aliyun.com/zh/isi/getting-started/manage-projects?spm=a2c4g.11186623.help-menu-30413.d_1_1.23894b4fQ12Zgm]

隐私、权限声明

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

<uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 蓝牙录音使用,不需要可以去除 --> <uses-permission android:name="android.permission.BROADCAST_STICKY" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

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

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

暂无用户评论。

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