uniapp 如何实现ios语音播报

在 uniapp x 的 ios 平台上实现语音播报(tts),有以下几种方法:

1. 使用现成的 uts 插件(推荐)

插件市场已有成熟插件,可直接使用:

vue复制代码
  1. <script setup>
  2. import { startspeech, pausespeech, continuespeech, stopspeech, opensetting } from '@/uni_modules/xwq-tts-speaker';
  3. import { option, info } from "@/uni_modules/xwq-tts-speaker/utssdk/interface.uts";
  4. const start = () => {
  5. startspeech({
  6. content: "要播报的文字",
  7. speechrate: 0.5, // 语速 0.0~1.0
  8. pitch: 0.9, // 音高 0.5~2.0
  9. language: 'zh-cn',
  10. finish: () => {
  11. console.log('播报结束')
  12. }
  13. } as option)
  14. };
  15. </script>

 

2. 自行开发 uts 插件调用 ios 原生 tts api

如果现有插件不满足需求,可以自己写 uts 插件,在 uni_modules/插件id/utssdk/app-ios/ 目录下通过 import { avspeechsynthesizer } from "avfoundation" 等方式调用 ios 系统 tts 能力。
uts 插件 ios 侧开发规范可参考官方文档:uts插件开发,ios 三方库可通过 framework、.a 或 cocoapods 方式引入。

3. 接入第三方语音 sdk

如对音色、类真人效果有更高要求,可通过 uts 插件方式接入讯飞、阿里、微软等第三方语音 sdk(参考社区讨论:uniappx怎么接讯飞语音sdk)。

注意事项

  • ios 上 tts 播报一般不需要额外权限,但要注意与音频会话的冲突(例如与其他插件同时使用时可能出现音频权限抢占)。
  • 在页面/组件内不能直接 import 平台 kit 包(如 @kit.corespeechkit),必须封装在 uts 插件中调用。
  • 如果只想快速实现,优先去插件市场搜索“tts”选用现成插件;有特殊需求再自行封装。

 

 

https://ext.dcloud.net.cn/plugin?id=27616

https://ext.dcloud.net.cn/plugin?id=21718

 

 
posted @ 2026-09-23 11:01  张筱菓  阅读(14)  评论(0)    收藏  举报