# Voice Recoder React

React package for recording audio in the browser.

Inspired by https://github.com/sivaprakashDesingu/react-voice-recorder

This component decouples the UI from the recording functionality.

# Demo

https://codesandbox.io/s/prod-star-sxndo

# Props
The following props are passed by both hooks and Component

| Prop | Default | Description |
| --- | ----------- |  -------- |
| time | {h:0 ,m:0 ,s:0} | An object that holds the duration of a recording |
| stop | n/a | a function that stops the media recorder |
| start | n/a | a function that starts the media recorder |
| pause | n/a | a function that pauses the media recorder |
| resume | n/a | a function that resumes the media recorder |
| reset | n/a | a function that discards all current recording data |
| data | {blob: Blob; url: string; chunks: Blob[];duration: Time;} | This object holds the data about the last recording |
| paused | false | indicates if the current recording is paused |
| recording | false | indicates if there is an ongoing recording |
| props | '{}' | This is unique only to the component usage. It accepts additional props to pass to the sub component |
| hasRecorder | true | If you try to record and there are no media devices found this will change to false |

Please refer to the demo to understand better.

## Hooks Usage

Please refer to the demo for a working example


# Recoder component
The Recorder Component is better for usage with nextJS although you still need to import it with `next/dynamic`

Please refer to the demo for a working example

# Contributing
If you have any issues or questions please feel free to open an issue or discussion on github

You can also Fork and open a PR on the component if you have any particular features you'd like to see.

There's also example code available on github
