npm 包 talktome 使用教程

阅读时长 5 分钟读完

介绍

talktome 是一个基于 WebRTC 技术开发的 npm 包,它可以轻松地在网页中实现语音识别、文本转换以及语音播放等功能。通过 talktome,你可以快速地构建出一个支持语音输入、交互的应用。在本文中,我们将介绍如何在自己的网页项目中使用 talktome 包,并且通过示例代码来展示其使用方法与效果。

安装

首先,我们需要新建一个 npm 项目,然后在其根目录下执行以下命令进行安装:

接着,我们需要在 html 文件中引入 talktome.js:

使用

talktome 提供了一份非常详细的使用文档,我们在这里只介绍一些其最基本的使用方法。在开始前,我们需要了解一些与 WebRTC 相关的概念。

WebRTC 是一种通过简单的 JavaScript API 实现实时通信的技术,talktome 就是基于 WebRTC 技术开发的。在谷歌浏览器中,WebRTC 已经原生支持了以下三种对象:

  • RTCPeerConnection:表示一个 WebRTC 通信的点对点链接。
  • RTCDataChannel:表示一个支持双向数据通信的链路。
  • MediaStream:表示从本地设备获取到的音频、视频流。

具体来说,一次语音识别的过程,就需要先通过 getUserMedia 方法获取到音频流,然后传递给 SpeechRecognition 对象进行语音识别,最后将语音转换为文本。talktome 封装了这个过程,提供了一份非常简单易懂的 API。

语音识别

以下是一个完整的使用示例,我们将用它来完成一次语音识别的过程:

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

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

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

其中, TalkToMe 是 talktome 的一个实例,我们通过它来调用 recognition 对象,然后通过 start 方法开始语音识别。当语音被识别出来后,我们可以通过 result 事件获取到识别结果。接下来,我们来看一下 talktome 提供的语音识别 API 的详细使用方法:

start(options)

开始语音识别。其中, options 可以是一个对象,也可以是空值,与 SpeechRecognition.start() 接收的参数一致。

stop()

停止语音识别,与 SpeechRecognition.abort() 方法一致。

on(event, callback)

监听指定事件触发时执行的回调函数,其中 event 是事件类型,包括:

  • start:语音识别开始时触发。
  • stop:语音识别停止时触发。
  • result:获取到语音识别结果时触发。

off(event, callback)

移除指定事件的回调函数。如果 callback 没有指定,则移除该事件的全部回调函数。

setLanguage(language)

设置语音识别的语言,默认为 zh-CN

文本转换

我们可以通过 TalkToMe.TTS 对象实现文本转换的功能,用法如下:

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

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

其中,我们在 click 事件中调用 TTS.speak() 方法,传入需要朗读的文本。接下来,我们来看一下 talktome 提供的文本转换 API 的详细使用方法:

speak(text, options)

开始朗读文本,其中, options 可以是一个对象,也可以是空值,与 SpeechSynthesisUtterance() 接收的参数一致。

cancel()

停止朗读,与 SpeechSynthesis.cancel() 方法一致。

paused()

暂停朗读,与 SpeechSynthesis.paused() 方法一致。

resume()

继续朗读,与 SpeechSynthesis.resume() 方法一致。

结论

在本文中,我们介绍了 npm 包 talktome 的使用方法,包括语音识别和文本转换。talktome 封装了 WebRTC 技术,使用起来非常简单方便,大大减少了我们的开发工作量。如果你想要构建一个支持语音输入、交互的应用,那么 talktome 绝对是你的不二之选。

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

纠错
反馈