npm 包 @nodert-win8.1/windows.media.speechsynthesis 使用教程

阅读时长 7 分钟读完

概述

@nodert-win8.1/windows.media.speechsynthesis 是一个 Node.js 的 npm 包,它提供了 SpeechSynthesizer 对象,可以在 Windows 平台上进行文字转语音的操作。本文将介绍如何在前端项目中使用这个包。

安装

在命令行中使用以下命令进行安装:

使用

引入 @nodert-win8.1/windows.media.speechsynthesis,创建 SpeechSynthesizer 对象后,就可以使用该对象的方法和属性进行文字转语音的操作。

下面是一个简单的例子:

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

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

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

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

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

这个例子中,我们首先引入了包并创建了一个 SpeechSynthesizer 对象。然后使用 getDefaultAsync() 方法获取当前系统上的默认语音信息,将其作为语音输出的声音来源。接着使用 speakTextAsync() 方法以文字形式输出“Hello, world!”。

最后,我们监听了 SpeechSynthesizer 对象上的 'canceled' 事件。在文本输出被取消的时候,程序将在控制台上打印出一份详细的事件报告。

API 参考

SpeechSynthesizer 对象提供了各种方法和属性,这里列出了一些常用的。更详细的 API 参考请参考官方文档。

new SpeechSynthesizer()

创建一个 SpeechSynthesizer 对象。

SpeechSynthesizer.options

该属性返回一个对象,包括各种关于发音的语音,如发音速度,音高等等的参数。它们可以以键值对的形式读取和更改。

SpeechSynthesizer.voice

该属性返回一个 VoiceInformation 对象,表示当前语音合成器的语音信息。可以通过传入一个 VoiceInformation 对象来改变语音合成器的语音来源。

SpeechSynthesizer.speakTextAsync(text)

该方法以文字形式输出语音。

SpeechSynthesizer.speakSsmlAsync(ssml)

该方法以 SSML 格式输出语音。

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

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

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

SpeechSynthesizer.pause()

该方法暂停语音输出。

SpeechSynthesizer.resume()

该方法恢复语音输出。

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

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

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

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

SpeechSynthesizer.stop()

该方法停止语音输出。

SpeechSynthesizer.events.on(event, callback)

该方法监听 SpeechSynthesizer 对象上的事件。其中 event 为事件名称,callback 为回调函数。

SpeechSynthesizer 对象有以下三个事件:

  • 'beginning': 当输出语音开始时触发。
  • 'completed': 当输出语音完成时触发。
  • 'canceled': 当输出语音被取消时触发。
-- -------------------- ---- -------
----- ----------- - --- --------------------

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

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

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

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

结语

本文介绍了如何在前端项目中使用 @nodert-win8.1/windows.media.speechsynthesis 这个 npm 包。我们了解了该包的安装方法和使用方法,列举了一些常用的 API。希望这篇文章对你有所帮助。

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

纠错
反馈