Skip to content

使用方法

安卓阿里云语音识别语音合成UTS原生插件集成了实时语音识别,一句话识别,文件急速识别和语音合成以及流式语音合成,插件支持uniapp和uniapp x

注意

当前提供的语音识别和语音合成为智能语音交互功能,百炼模型暂未接入,下个版本将接入百炼模型

插件使用注意事项

  • 如果您在使用插件的过程中有任何问题,可以联系作者,作者将全力协助您使用插件
  • 本文档同时提供了uniapp的用法示例和uniappx的用法示例,插件市场导入的示例项目仅为uniapp的用法示例,如果您需要uniappx的示例项目可以通过下方的链接下载示例

    https://pan.baidu.com/s/1rLewHIsSHdV4xvrIy9_wCQ?pwd=b2h7

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>

注意

其他页面内容请导入示例项目查看