Skip to content

Record a user's voice and display as an oscillation. Works via the HTML5 MediaRecorder API (currently only available in Chrome & Firefox).

Notifications You must be signed in to change notification settings

OpenSooq/react-mic-record

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2c270f8 · May 9, 2019

History

16 Commits
Jul 16, 2018
Jul 23, 2018
May 20, 2018
Jul 15, 2018
May 9, 2019
May 20, 2018
May 20, 2018
Jul 23, 2018
Jul 15, 2018

Repository files navigation

react-mic-record

Record a user's voice and display as an osscilation. Audio is saved as WebM audio file format.

Works via the HTML5 MediaRecorder API (currently only available in Chrome & Firefox).

Demo

Check out the demo.

Installation

npm install --save react-mic-record

Features

  • Record audio from microphone
  • Display sound wave as voice is being recorded
  • Get audio as BLOB

Usage

<ReactMicRecord
  record={boolean}         // defaults -> false.  Set to true to begin recording
  className={string}       // provide css class name
  onData={function}        // callback to execute when chunk of audio data is available
  onStop={function}        // callback to execute when audio stops recording
  strokeColor={string}     // sound wave color
  backgroundColor={string} // background color
/>

Example

react-mic-record Demo

import ReactMicRecord from 'react-mic-record';

export class Example extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      record: false
    }

  }

  startRecording = () => {
    this.setState({
      record: true
    });
  }

  stopRecording = () => {
    this.setState({
      record: false
    });
  }

  onData(recordedBlob) {
    console.log('chunk of real-time data is: ', recordedBlob);
  }

  onStop(recordedBlob) {
    console.log('recordedBlob is: ', recordedBlob);
  }

  render() {
    return (
      <div>
        <ReactMicRecord
          record={this.state.record}
          className="sound-wave"
          onStop={this.onStop}
          strokeColor="#000000"
          backgroundColor="#FF4081" />
        <button onTouchTap={this.startRecording} type="button">Start</button>
        <button onTouchTap={this.stopRecording} type="button">Stop</button>
      </div>
    );
  }
}

Credits

This package uses code from (react-mic).

License

Apache 2.0

About

Record a user's voice and display as an oscillation. Works via the HTML5 MediaRecorder API (currently only available in Chrome & Firefox).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published