Socket
Socket
Sign inDemoInstall

use-audio-capture

Package Overview
Dependencies
0
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    use-audio-capture

A React hook for audio recording using the Web APIs. Provides functionality for starting, stopping, pausing, and resuming recordings, with customizable callback events.


Version published
Weekly downloads
21
decreased by-72.73%
Maintainers
1
Install size
14.6 kB
Created
Weekly downloads
 

Changelog

Source

0.0.7

Patch Changes

  • 14b6494: Update Readme

Readme

Source

use-audio-capture

A React hook for audio recording using the Web APIs. It provides functionality for starting, stopping, pausing, and resuming recordings, with customizable callback events.

Features

  • 🧠 Intuitive API
  • 🎣 Customizable Callbacks: Easily react to various recording events such as starting, stopping, pausing, and data chunk availability.
  • 🚫 Error Handling: Built-in error events to handle and manage recording issues.
  • ⏸️ Pause and Resume: Not just start and stop! Pause your recordings and resume right where you left off.
  • 🎙️ Data Chunk Access: Access raw audio data chunks as the recording progresses, allowing for advanced use-cases.
  • 🕊️ No External Dependencies: Built with native Web APIs, ensuring a lightweight package with no extra dependencies.

Installation

npm install use-audio-capture

Getting Started

Basic usage - See live example
import { useAudioCapture } from 'use-audio-capture';

export const AudioRecorder: React.FC<AudioRecorderProps> = () => {
  const { start, stop, pause, resume } = useAudioCapture({
    onStart: () => {
      console.log('Recording started.');
    },
    onStop: (_e, chunks) => {
      const blob = new Blob(chunks, { type: chunks[0].type });
      const file = new File([blob], 'sampleFile.webm', {
        type: chunks[0].type,
      });
      console.log(file);
    },
  });

  return (
    <div>
      <button onClick={start}>Start Recording</button>
      <button onClick={stop}>Stop Recording</button>
      <button onClick={pause}>Pause Recording</button>
      <button onClick={resume}>Resume Recording</button>
    </div>
  );
};

Link to storybook

Functions returned by useAudioCapture

Function NameDescriptionParametersReturns
startStarts the audio recording.Nonevoid
stopStops the audio recording.Nonevoid
pausePauses the current recording session.Nonevoid
resumeResumes a paused recording session.Nonevoid

Available Callbacks and Their Properties

CallbackDescriptionProperties Received
onStartCalled when recording starts.event, { mediaStream }
onChunkCalled when a data chunk is available.blobEvent, { mediaStream }
onStopCalled when recording stops.event, chunks, { mediaStream }
onPauseCalled when recording is paused.event, chunks, { mediaStream }
onResumeCalled when recording is resumed after pausing.event, chunks, { mediaStream }
onErrorCalled when an error occurs during recording.event, { mediaStream, error }

AudioRecorder component

Component example built based on use-audio-capture hook - See live example

License

MIT

Keywords

FAQs

Last updated on 05 Oct 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc