npm 包 react-native-cn-tts 使用教程

阅读时长 4 分钟读完

简介

react-native-cn-tts 是一款适用于 React Native 的文本转语音的 npm 包。该包基于 react-native-tts 做了中文本地化修改,支持 iOS 和 Android 平台。使用该包可以在移动应用中实现语音播报的功能。

安装

在 React Native 项目根目录下,使用以下命令安装 react-native-cn-tts

使用

在使用 react-native-cn-tts 之前,需要先 import 包:

初始化

在使用 Tts 前,需要先调用 Tts.setDefaultLanguage() 方法设置默认语言。使用以下代码初始化 Tts

队列播放

可以使用 Tts.speak() 方法来播放文本,该方法为队列式播放,两个文字之间会有一定停顿。如下所示:

单次播放

如果需要在某个时间点播放某段文字,可以使用单次播放,完整的播放过程可以通过监听 TTS_STARTTTS_FINISH 事件来得到。使用以下代码来进行单次播放:

停止播放

使用 Tts.stop() 方法可以在队列播放和单次播放中任意时刻停止语音播报。

设置语速和音调

使用 Tts.setDefaultPitch() 方法来设置默认音调,使用 Tts.setDefaultRate() 方法来设置默认语速。使用以下代码来设置语速和音调:

语音播放状态监听

可以通过监听以下事件来得到语音播放的状态:

  • TTS_START:语音开始播放;
  • TTS_FINISH:语音播放结束。

如下所示:

示例代码

以下代码演示了如何使用 react-native-cn-tts 逐句播报中文语音:

-- -------------------- ---- -------
------ ------ - --------- - ---- --------
------ --- ---- ----------------------
------ - ----- ---- - ---- ---------------

----- --- - -- -- -

  ------------ -- -

    ----- --------- - ------------ -------------

    --------------------------------
    -------------------------
    ------------------------
  
    -------------------------- -- -
      ------------------- - ------ --- ---
    ---

    ---------------------------------- -- -- -
      --------------------
    ---

    ------ -- -- -
      -----------
      -------------------------
    --

  -- ----

  ------ -
    ----- -------- ----- -- ----------- --------- --------------- -------- ---
      ------------- ------ --------------
    -------
  --
--

------ ------- ----

该示例代码使用 useEffect 钩子函数来初始化 Tts,逐句播报了两句中文。在组件卸载前,停止语音播报并移除所有监听器。

指导意义

react-native-cn-tts 对中文本地化做了改进,使用更符合中文环境的语音播报,方便移动应用的开发者实现语音播报的功能,提高用户体验。

建议在开发应用中,使用本地语言转语音的方式,加强用户的使用体验。而在实现时,建议先设计阅读流程,再选择其中合适的节点进行语音播报,提高信息传递的准确性和用户听取的便利性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600572d381e8991b448e9088

纠错
反馈