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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@neosjs/h5-recorder

v1.1.3

Published

NeosJS H5 Recorder

Downloads

23

Readme

H5 录音

Html5 JS 录音 mp3 wav 格式,支持 pc 和 Android、ios 部分浏览器

安装

npm install @neosjs/h5-recorder -S

# 或者

yarn add @neosjs/h5-recorder

当前版本 1.0.4

API 接口

  • Recorder.init(object)
  • Recorder.startRecord()
  • Recorder.stopRecord()
  • Recorder.closeRecord()
  • Recorder.getRecordBlob()
  • Recorder.pauseRecord()
  • Recorder.resumeRecord()
  • Recorder.playRecord(audioDomId)
  • Recorder.getRecordSrc(blobFile)
  • ~~Recorder.createWaves(config={},canvasDomId)~~
  • ~~Recorder.uploadRecord(url, method , callback)~~
  • Recorder.isSupport()

示例代码

初始化

import Recorder from '@neosjs/h5-recorder'

// 初始化录音机
Recorder.init(
  {
    type: 'wav', // 音频类型
    sampleRate: 16000, // 码率
    bitRate: 16, // 采用数位
    waveForm: {
      type: 'wave', // 波形类型
      dom: '.waveContent' // 波形容器 css选择器
    }
  },
  cb => {
    switch (cb.action) {
      case 'initState': // 初始化状态
        console.log(cb.data)
        break
      case 'connectRecord': // 连接录音
        console.log(cb.data)
        break
      case 'disconnectRecord': // 断开录音连接
        console.log(cb.data)
        break
      case 'startRecord': // 开始录音
        console.log(cb.data)
        break
      case 'stopRecord': // 停止录音
        console.log(cb.data)
        break
      case 'closeRecord': // 关闭录音、释放资源
        console.log(cb.data)
        break
      case 'pauseRecord': // 暂停录音
        console.log(cb.data)
        break
      case 'resumeRecord': // 恢复录音
        console.log(cb.data)
        break
      case 'playRecord': // 播放录音
        console.log(cb.data)
        break
      case 'isSupport': // 浏览器是否支持H5录音功能
        console.log(cb.data)
        break
      default:
    }
  }
)

初试化参数

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | --------------------------- | -------------------------- | ------ | --------------- | ------------ | | configs = {} | 初始化录音机参数 | object | — | — | | configs['bitRate'] | 采样数位 | number | 8, 16 | 16 | | configs['sampleRate'] | 采样率 | number | — | 16000 | | configs['type'] | 音频类型 | string | mp3、wav | wav | | configs['waveForm'] | 波形图 (v1.0.2 调整此参数) | object | — | — | | configs['waveForm']['type'] | 波形图类型 | string | frequency、wave | wave | | configs['waveForm']['dom'] | 波形容器 css 选择器 | string | — | .waveContent |

开始录音

import Recorder from '@neosjs/h5-recorder'

Recorder.startRecord()

停止录音

import Recorder from '@neosjs/h5-recorder'

Recorder.stopRecord(success, fail)
// 或者
const res = await Recorder.stopRecord()

参数

| 参数 | 说明 | 类型 | 是否必填 | 默认值 | | ------- | ---------- | -------- | -------- | ------ | | success | 成功的回调 | function | 否 | - | | fail | 失败的回调 | function | 否 | - |

关闭录音

import Recorder from '@neosjs/h5-recorder'

Recorder.closeRecord()

:::danger 不需要录音的时候,必须调用此接口,关闭录音,释放资源! :::

播放录音

import Recorder from '@neosjs/h5-recorder'

Recorder.playRecord(audioDomId)

参数

| 参数 | 说明 | 类型 | 是否必填 | 默认值 | | ---------- | --------------- | ------ | -------- | ------ | | audioDomId | audio 标签的 id | string | 是 | - |

暂停录音

import Recorder from '@neosjs/h5-recorder'

Recorder.pauseRecord()

恢复录音

import Recorder from '@neosjs/h5-recorder'

Recorder.resumeRecord()

获取录音文件

import Recorder from '@neosjs/h5-recorder'

Recorder.getRecordBlob()

获取本地 src 地址

import Recorder from '@neosjs/h5-recorder'

Recorder.getRecordSrc(blobFile)

参数

| 参数 | 说明 | 类型 | 是否必填 | 默认值 | | -------- | --------- | ------ | -------- | ------ | | blobFile | blob 文件 | string | 否 | - |

创建一个波形图

import Recorder from '@neosjs/h5-recorder'

Recorder.createWaves(config, canvasDomId)

参数

| 参数 | 说明 | 类型 | 是否必填 | 默认值 | | ------------------- | ---------------- | ------ | -------- | ---------- | | config = {} | 波形图的配置 | object | 否 | - | | config['bgColor'] | 波形图背景色 | string | 否 | #ffffff | | config['gap'] | 每条线之间的间隔 | string | 否 | 6.5 | | config['startX'] | 起始位置 | number | 否 | 5 | | config['lineWidth'] | 线条宽度 | number | 否 | 5 | | canvasDomId | canvas 元素 id | string | 否 | audioWaves |

上传音频文件

import Recorder from '@neosjs/h5-recorder'

Recorder.uploadRecord(url, method, callback)

参数

| 参数 | 说明 | 类型 | 是否必填 | 默认值 | | -------- | -------- | -------- | -------- | ------ | | url | 后端地址 | string | 是 | - | | method | 方法 | string | 否 | post | | callback | 回调方法 | function | 否 | - |

获取浏览器是否支持录音

import Recorder from '@neosjs/h5-recorder'

Recorder.isSupport()
// 接口返回 true、false