JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q66712F
  • License ISC

讯飞语音听写(流式版)WebAPI的React/Node.js SDK

Package Exports

  • xf-voice

Readme

xf-voice

讯飞语音听写(流式版)WebAPI的React/Node.js SDK

安装

npm install xf-voice

使用示例

Node.js 环境

const XfVoiceDictation = require('xf-voice');

const recorder = new XfVoiceDictation({
  APPID: '你的APPID',
  APIKey: '你的APIKey',
  APISecret: '你的APISecret',
  onTextChange: (text) => {
    console.log('识别结果:', text);
  }
});

// 开始录音
recorder.start();

// 停止录音
setTimeout(() => {
  recorder.stop();
}, 5000);

React 环境

import React, { useState, useEffect } from 'react';
import XfVoiceDictation from 'xf-voice';

function VoiceRecorder() {
  const [text, setText] = useState('');
  
  useEffect(() => {
    const recorder = new XfVoiceDictation({
      APPID: '你的APPID',
      APIKey: '你的APIKey',
      APISecret: '你的APISecret',
      onTextChange: (result) => {
        setText(result);
      }
    });

    return () => {
      recorder.stop();
    };
  }, []);

  return (
    <div>
      <button onClick={() => recorder.start()}>开始录音</button>
      <button onClick={() => recorder.stop()}>停止录音</button>
      <div>识别结果: {text}</div>
    </div>
  );
}

export default VoiceRecorder;

API

构造函数

new XfVoiceDictation(options)

参数:

  • options.APPID: 必填,讯飞开放平台APPID
  • options.APIKey: 必填,讯飞开放平台APIKey
  • options.APISecret: 必填,讯飞开放平台APISecret
  • options.onTextChange: 识别结果回调函数
  • options.onWillStatusChange: 状态变更回调函数
  • options.language: 语言,默认'zh_cn'
  • options.accent: 方言,默认'mandarin'

方法

  • start(): 开始录音
  • stop(): 停止录音
  • setParams({language, accent}): 设置识别参数

注意事项

  1. React项目需要v16.8+版本(支持Hooks)
  2. 需要在服务端环境下运行
  3. 需要有效的讯飞开放平台账号和API权限
  4. 浏览器需要支持Web Audio API和WebSocket
  5. 在Chrome浏览器中需要在https或localhost环境下才能获取麦克风权限
  6. 使用React时,建议在组件卸载时调用stop()方法
  7. Worker文件需要正确放置在public/js/目录下