Appearance
使用方法
安卓阿里云语音识别语音合成UTS原生插件集成了实时语音识别,一句话识别,文件急速识别和语音合成以及流式语音合成,插件支持uniapp和uniapp x
注意
当前提供的语音识别和语音合成为智能语音交互功能,百炼模型暂未接入,下个版本将接入百炼模型
插件使用注意事项
- 如果您在使用插件的过程中有任何问题,可以联系作者,作者将全力协助您使用插件
- 本文档同时提供了uniapp的用法示例和uniappx的用法示例,插件市场导入的示例项目仅为uniapp的用法示例,如果您需要uniappx的示例项目可以通过下方的链接下载示例
sdk文档地址
https://help.aliyun.com/zh/isi/
联系作者

关注微信公众号可联系作者
插件地址
https://ext.dcloud.net.cn/plugin?id=26721
用法
在需要使用插件的页面加载以下代码
js
import * as module from "@/uni_modules/leven-uts-alyNui"js
import * as module from "@/uni_modules/leven-uts-alyNui"页面内容
vue
<template>
<view class="content">
<uni-card title="其他功能">
<button type="primary" @click="requestPermissions">申请插件所需权限</button>
<button type="primary" @click="checkAllFilesPermission">检查是否有所有文件访问权限</button>
<button type="primary" @click="toAllFilesPermissionPage">跳转到所有文件访问权限页面</button>
<button type="primary" @click="getSdkVersion">获取sdk版本号</button>
</uni-card>
<uni-card title="智能语音交互">
<button type="primary" @click="toPage('SpeechTranscriber')">实时转写/实时识别</button>
<button type="primary" @click="toPage('SpeechRecognizer')">一句话识别</button>
<button type="primary" @click="toPage('FileTranscriber')">文件急速识别</button>
<button type="primary" @click="toPage('streamInputTts')">流式语音合成(流式输入流式输出)/CosyVoice大模型</button>
<button type="primary" @click="toPage('tts')">语音合成(流式输出)</button>
</uni-card>
</view>
</template>
<script>
// const module = uni.requireNativePlugin("leven-alyNui-NuiModule");
import * as module from "@/uni_modules/leven-uts-alyNui"
export default {
data() {
return {}
},
onLoad() {
},
methods: {
//获取sdk版本号
getSdkVersion() {
module.getSdkVersion({
//成功执行的函数
success: (res) => {
console.log(res)
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
complete: (res) => {
console.log(res)
}
})
// module.getSdkVersion(res => {
// console.log(res)
// })
},
//跳转页面
toPage(type) {
switch (type) {
case 'SpeechTranscriber':
uni.navigateTo({
url: "/pages/index/SpeechTranscriber"
})
break;
case 'SpeechRecognizer':
uni.navigateTo({
url: "/pages/index/SpeechRecognizer"
})
break;
case 'FileTranscriber':
uni.navigateTo({
url: "/pages/index/FileTranscriber"
})
break;
case 'streamInputTts':
uni.navigateTo({
url: "/pages/nls/streamInputTts"
})
break;
case 'tts':
uni.navigateTo({
url: "/pages/nls/tts"
})
break;
}
},
requestPermissions() {
module.requestPermissions({
//参数
params: {
permissions: [
'android.permission.WRITE_EXTERNAL_STORAGE',
'android.permission.READ_EXTERNAL_STORAGE',
'android.permission.RECORD_AUDIO'
]
},
//成功执行的函数
success: (res) => {
console.log(res)
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
complete: (res) => {
console.log(res)
}
})
// module.requestPermissions({
// //申请权限列表
// permissions: [
// 'android.permission.WRITE_EXTERNAL_STORAGE',
// 'android.permission.READ_EXTERNAL_STORAGE',
// 'android.permission.RECORD_AUDIO'
// ]
// }, res => {
// console.log(res)
// })
},
//检查所有文件访问权限
checkAllFilesPermission() {
module.checkAllFilesPermission({
//成功执行的函数
success: (res) => {
console.log(res)
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
complete: (res) => {
console.log(res)
}
})
// module.checkAllFilesPermission(res => {
// console.log(res)
// })
},
//跳转到所有文件访问权限页面
toAllFilesPermissionPage() {
module.toAllFilesPermissionPage({
//成功执行的函数
success: (res) => {
console.log(res)
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
complete: (res) => {
console.log(res)
}
})
// module.toAllFilesPermissionPage(res => {
// console.log(res)
// })
}
}
}
</script>
<style>
</style>vue
<template>
<!-- #ifdef APP -->
<scroll-view style="flex:1">
<!-- #endif -->
<leven-ui-card title="其他功能">
<button type="primary" @click="requestPermissions">申请插件所需权限</button>
<button type="primary" @click="checkAllFilesPermission">检查是否有所有文件访问权限</button>
<button type="primary" @click="toAllFilesPermissionPage">跳转到所有文件访问权限页面</button>
<button type="primary" @click="getSdkVersion">获取sdk版本号</button>
</leven-ui-card>
<leven-ui-card title="智能语音交互">
<button type="primary" @click="toPage('SpeechTranscriber')">实时转写/实时识别</button>
<button type="primary" @click="toPage('SpeechRecognizer')">一句话识别</button>
<button type="primary" @click="toPage('FileTranscriber')">文件急速识别</button>
<button type="primary" @click="toPage('streamInputTts')">流式语音合成(流式输入流式输出)/CosyVoice大模型</button>
<button type="primary" @click="toPage('tts')">语音合成(流式输出)</button>
</leven-ui-card>
<!-- #ifdef APP -->
</scroll-view>
<!-- #endif -->
</template>
<script setup>
import * as module from "@/uni_modules/leven-uts-alyNui"
import { LevenOptions } from "@/uni_modules/leven-uts-alyNui"
//跳转页面
function toPage(type : string) {
switch (type) {
case "SpeechTranscriber":
uni.navigateTo({
url: "/pages/alyNui/index/SpeechTranscriber"
})
break
case "SpeechRecognizer":
uni.navigateTo({
url: "/pages/alyNui/index/SpeechRecognizer"
})
break
case "FileTranscriber":
uni.navigateTo({
url: "/pages/alyNui/index/FileTranscriber"
})
break
case "streamInputTts":
uni.navigateTo({
url: "/pages/alyNui/nls/streamInputTts"
})
break
case "tts":
uni.navigateTo({
url: "/pages/alyNui/nls/tts"
})
break
}
}
//获取sdk版本号
function getSdkVersion() {
module.getSdkVersion({
//成功执行的函数
success: (res) => {
console.log(res)
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
// complete: (res) => {
// console.log(res)
// }
} as LevenOptions)
}
//跳转到所有文件访问权限页面
function toAllFilesPermissionPage() {
module.toAllFilesPermissionPage({
//成功执行的函数
success: (res) => {
console.log(res)
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
// complete: (res) => {
// console.log(res)
// }
} as LevenOptions)
}
//检查是否有所有文件访问权限
function checkAllFilesPermission() {
module.checkAllFilesPermission({
//成功执行的函数
success: (res) => {
console.log(res)
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
// complete: (res) => {
// console.log(res)
// }
} as LevenOptions)
}
//申请插件所需权限
function requestPermissions() {
module.requestPermissions({
//参数
params: {
permissions: [
'android.permission.WRITE_EXTERNAL_STORAGE',
'android.permission.READ_EXTERNAL_STORAGE',
'android.permission.RECORD_AUDIO'
]
},
success: (res) => {
console.log(res)
},
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
// complete: (res) => {
// console.log(res)
// }
} as LevenOptions)
}
</script>
<style>
</style>注意
其他页面内容请导入示例项目查看
