npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

xf-voice

v1.2.5

Published

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

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/目录下