@web-lite/voice-recorder
TypeScript icon, indicating that this package has built-in type declarations

0.0.9 • Public • Published

Weblite Voice Recorder

A multi-platform typescript voice-recorder library for browser.

The MediaRecorder API is not supported in Safari browsers (including Safari on iOS). So for recording voice in IOS you should use webassembly based recorders.

In this package, if MediaRecorder API fails, we use vmsg to record mp3 format.

Companies that develop speech-recognition apps, voice-activated software, apps that require audio recording features, or language-learning products all can use @web-lite/voice-recorder

Installation

yarn add @web-lite/voice-recorder

Usage

Upload

Simple upload with @web-lite/storage package:

import { Recorder } from '@web-lite/voice-recorder'
import * as storage from '@web-lite/storage'

const recorder = new Recorder()

const recordAndUpload = async (): Promise<void> => {
  await recorder.start()
  setTimeout(async () => {
    const { blob, ext } = await recorder.stop()
    const info = await storage.upload(blob, {
      type: 'voice',
      name: `sample-voice.${ext}`,
    })
    console.log(info)
  }, 5000)
}

recordAndUpload()

React

Integrating to react using react-aptor package:

Configuration

This package uses default wasm url configured by weblite. You must change this config to work for your site.

import { Recorder, config } from '@web-lite/voice-recorder'

config({
  wasmURL: 'yoursite.com/vmsg.wasm', // https://github.com/Kagami/vmsg/blob/master/vmsg.wasm
  shimURL: 'yoursite.com/wasm-polyfill.js', // https://github.com/Kagami/wasm-polyfill.js
})

const recorder = new Recorder()

// ....

Package Sidebar

Install

npm i @web-lite/voice-recorder

Weekly Downloads

25

Version

0.0.9

License

MIT

Unpacked Size

36.6 kB

Total Files

32

Last publish

Collaborators

  • hamedalavi
  • javadiii
  • masoudmsk
  • aliasgary
  • hosein-norouzi
  • radiumgh
  • mmd.ghanbari