Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
react-h5-audio-player
Advanced tools
Audio player component that provides consistent UI on different browsers.
Flexbox design with CSS shapes. Mobile friendly. No extra dependencies.
Supported browsers: Chrome, Firefox, Safari, Opera, Edge, IE (≥10)
In 1.x, we use prop-types
package instead of using it directly in React. Thus we dropped support under react@15.5.0
. The usage will remain the same.
npm i --save react-h5-audio-player
import AudioPlayer from "react-h5-audio-player";
const Player = () => (
<AudioPlayer
autoPlay
src="http://example.com/audio.mp3"
onPlay={e => console.log("onPlay")}
// other props here
/>
);
Props | Type | Default |
---|---|---|
src | String | '' |
preload | String | 'auto' |
autoPlay | Boolean | false |
loop | Boolean | false |
muted | Boolean | false |
loop | Boolean | false |
volume | Number | 1.0 |
More native attributes detail: MDN Audio element
Indicates if the audio player is hidden.
Indicates the interval that the progress bar UI updates.
Indicates how often to call the onListened
prop during playback, in milliseconds.
Called when unloading the audio player, like when switching to a different src file. Passed the event.
Called when enough of the file has been downloaded to be able to start playing.
Called when playback has finished to the end of the file. Passed the event.
Called when the audio tag encounters an error. Passed the event.
Called every listenInterval
milliseconds during playback.
Called when the user pauses playback. Passed the event.
Called when the user taps play.
Called when the user start dragging the time indicator. Passed the event.
Called when the user is dragging the time indicator. Passed the event.
Called when the user finish dragging the time indicator. Passed the event.
React H5 Audio Player provides built-in class names for developers to overwrite.
For example:
// In a SASS or LESS file
.react-h5-audio-player {
.toggle-play-wrapper {
.toggle-play-button {
// Remember to use !important to overwrite inline styles.
background-color: red !important;
}
}
}
You can find more class names by inspecting element on you browser.
To be compatible with some old browsers, you can add prefixers to flex container
.react-h5-audio-player {
.flex {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
.toggle-play-wrapper {
flex: 1 0 60px;
-webkit-box-flex: 1 0 60px;
-moz-box-flex: 1 0 60px;
-ms-flex: 1 0 60px;
}
.progress-bar-wrapper {
flex: 10 0 auto;
-webkit-box-flex: 10 0 auto;
-moz-box-flex: 10 0 auto;
-ms-flex: 10 0 auto;
}
}
}
You can get direct access to the underlying audio element. First get a ref to ReactAudioPlayer:
<ReactAudioPlayer ref={c => (this.player = c)} />
Then you can access the audio element like this:
this.player.audio
Issues and PR's are welcome.
This project is inspired by React Audio Player.
FAQs
A customizable React audio player. Written in TypeScript. Mobile compatible. Keyboard friendly
The npm package react-h5-audio-player receives a total of 29,546 weekly downloads. As such, react-h5-audio-player popularity was classified as popular.
We found that react-h5-audio-player demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
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.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.