Package Exports
- react-audio-analyser
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-audio-analyser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
English | 简体中文
react-audio-analyser
recording audio and drawing the curve. support for converting the audio to wav.
Demo
Check out the demo.
Installation
npm install react-audio-analyser --save
Features
- Record audio and show the curve
- Support output audio/wav
- Various state callbacks
Example
import React, {Component} from "react";
import "./index.css";
import AudioAnalyser from "react-audio-analyser"
export default class demo extends Component {
constructor(props) {
super(props)
this.state = {
status: null
}
}
controlAudio(status) {
this.setState({
status
})
}
render() {
const {status, audioSrc} = this.state;
const audioProps = {
audioType: "audio/wav", // Temporarily only supported audio/wav, default audio/webm
status, // Triggering component updates by changing status
audioSrc,
startCallback: (e) => {
console.log("succ start", e)
},
pauseCallback: (e) => {
console.log("succ pause", e)
},
stopCallback: (e) => {
this.setState({
audioSrc: window.URL.createObjectURL(e)
})
console.log("succ stop", e)
}
}
return (
<AudioAnalyser {...audioProps}>
<div className="btn-box">
{status !== "recording" &&
<i className="iconfont icon-start" title="开始"
onClick={() => this.controlAudio("recording")}></i>}
{status === "recording" &&
<i className="iconfont icon-pause" title="暂停"
onClick={() => this.controlAudio("paused")}></i>}
<i className="iconfont icon-stop" title="停止"
onClick={() => this.controlAudio("inactive")}></i>
</div>
</AudioAnalyser>
);
}
}
Properties(audioProps)
Properties | Description | Default | IsRequired |
---|---|---|---|
status |
recording start , paused pause , inactive stop |
undefined | yes |
audioType |
audio output type | audio/webm | no |
audioSrc |
window.URL.createObjectURL of output audio blob ,when the prop set, showing the audio control list | null | no |
startCallback |
Function triggered after starting(resuming) recording | undefined | no |
pauseCallback |
Function triggered after pausing recording | undefined | no |
stopCallback |
Function triggered after stoping recording | undefined | no |
backgroundColor |
audio canvas backgroundColor | rgba(0, 0, 0, 1) | no |
strokeColor |
audio canvas strokeColor | #ffffff | no |
className |
audio canvas css classname | audioContainer | no |
audioBitsPerSecond |
audioBitsPerSecond | 128000 | no |
width |
audio canvas width | 500px | no |
height |
audio canvas height | 100px | no |
License
MIT
TODO
- output audio/mp3
- Diverse audio curve display