This is a sound recording application created in ReactJS. It is a learning exercise. Buyer beware.
This is, in many ways, a recreation of this dictaphone web application. However, with this version, I plan on making it a PWA so you can install it on your device and use it without an Internet connection.
I am a bit of a sound effects enthusiast. I have a small collection of sound effects and used to use a very nice Roland stereo recording device but it can sometimes be a burden to carry around. The feature I liked the most about it was its reliability. It was always ready to go and I could record a sound effect in a matter of seconds. I wanted to create a similar experience for myself.
The main feature of this application will be reliability. Once installed, you tap it to open it and tap the record button to start recording immediately. My plan is save the recording every second so that should the app crash or you accidentally close it, you will not lose your recording.
I'm implementing features found in the github issues. I've organized them by milestone, but there are potentially hundreds of features and, as of this writing, we are at the very beginning of the project.
- Record audio
- Save audio
- Play audio
- Delete audio
- Download audio
- Install as a PWA
- Rename an audio file
- Display audio file duration
- Display audio file size
- Display audio file format
- Display audio file sample rate
- Display audio file bit rate
- Display audio file channels
- Display audio file encoding
- Display audio file codec
- Display audio file container
- Display audio file metadata
You can see a live demo here of the current development version.
- MediaRecorder API
- MediaStream Recording
- MediaDevices.getUserMedia()
- Mocking methods which are not implemented in JSDOM
- Mocking browser APIs in Jest (localStorage, fetch and more!)
- MediaRecorder Pollyfill
- React Media Recorder
- use-media-recorder (React based hooks to utilize the MediaRecorder API for audio, video and screen recording)
These are issues I reported / uncovered / contributed to while working on this project.