New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

react-h5-audio-player

Package Overview
Dependencies
Maintainers
1
Versions
83
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-h5-audio-player - npm Package Compare versions

Comparing version 0.0.2 to 0.0.3

README.md

49

lib/index.js

@@ -200,15 +200,19 @@ 'use strict';

// When the user drags the time indicator to a new time
audio.addEventListener('seeked', function (e) {
_this2.clearListenTrack();
_this2.props.onSeeked && _this2.props.onSeeked(e);
});
var dragX = void 0;
slider.addEventListener('dragstart', function (e) {
var crt = slider.cloneNode(true);
e.dataTransfer.setDragImage(crt, 0, 0);
if (!_this2.audio.src) {
return;
}
e.dataTransfer.setData('text', 'slider');
if (e.dataTransfer.setDragImage) {
var crt = slider.cloneNode(true);
e.dataTransfer.setDragImage(crt, 0, 0);
}
_this2.audio.pause();
document.addEventListener('dragover', function (event) {
event = event || window.event;
dragX = event.pageX;
});
_this2.props.onDragStart && _this2.props.onDragStart(e);
_this2.setState({ isDragging: true });
_this2.props.onDragStart && _this2.props.onDragStart(e);
setTimeout(function () {
return _this2.audio.pause();
}, 0);
});

@@ -224,7 +228,11 @@

slider.addEventListener('drag', function (e) {
if (e.clientX) {
_this2.setState({ dragLeft: e.clientX - _this2.bar.getBoundingClientRect().left });
if (!_this2.audio.src) {
return;
}
if (dragX) {
_this2.setState({ dragLeft: dragX - _this2.bar.getBoundingClientRect().left });
_this2.props.onDragMove && _this2.props.onDragMove(e);
}
});
slider.addEventListener('touchmove', function (e) {

@@ -236,4 +244,7 @@ _this2.setState({ dragLeft: e.touches[0].clientX - _this2.bar.getBoundingClientRect().left });

slider.addEventListener('dragend', function (e) {
if (!_this2.audio.src) {
return;
}
var audio = _this2.audio;
audio.currentTime = audio.duration * _this2.state.dragLeft / _this2.bar.offsetWidth;
audio.currentTime = audio.duration * _this2.state.dragLeft / _this2.bar.offsetWidth || 0;
audio.play();

@@ -325,4 +336,2 @@ _this2.setState({ isDragging: false });

var hidePlayer = this.props.hidePlayer;
var currentTimeMin = Math.floor(this.state.currentTime / 60);

@@ -343,3 +352,3 @@ var currentTimeSec = Math.floor(this.state.currentTime % 60);

'div',
{ style: style.audioPlayerWrapper(hidePlayer), className: 'react-h5-audio-player' },
{ style: style.audioPlayerWrapper(this.props.hidePlayer), className: 'react-h5-audio-player' },
_react2.default.createElement(

@@ -384,3 +393,4 @@ 'audio',

},
style: style.drag(this.state.dragLeft), id: 'drag'
style: style.drag(this.state.dragLeft),
id: 'drag'
})

@@ -431,3 +441,2 @@ ),

onPlay: _react2.default.PropTypes.func,
onSeeked: _react2.default.PropTypes.func,
onDragStart: _react2.default.PropTypes.func,

@@ -438,5 +447,5 @@ onDragMove: _react2.default.PropTypes.func,

src: _react2.default.PropTypes.string,
controls: _react2.default.PropTypes.bool
hidePlayer: _react2.default.PropTypes.bool
};
exports.default = H5AudioPlayer;
{
"name": "react-h5-audio-player",
"version": "0.0.2",
"version": "0.0.3",
"description": "A react audio player with progress bar. Mobile compatible.",

@@ -5,0 +5,0 @@ "main": "./lib/index.js",

@@ -172,13 +172,19 @@ import React from 'react';

// When the user drags the time indicator to a new time
audio.addEventListener('seeked', (e) => {
this.clearListenTrack();
this.props.onSeeked && this.props.onSeeked(e);
});
let dragX;
slider.addEventListener('dragstart', (e) => {
const crt = slider.cloneNode(true);
e.dataTransfer.setDragImage(crt, 0, 0);
if (!this.audio.src) {
return;
}
e.dataTransfer.setData('text', 'slider');
if (e.dataTransfer.setDragImage) {
const crt = slider.cloneNode(true);
e.dataTransfer.setDragImage(crt, 0, 0);
}
this.audio.pause();
document.addEventListener('dragover', (event) => {
event = event || window.event;
dragX = event.pageX;
});
this.props.onDragStart && this.props.onDragStart(e);
this.setState({ isDragging: true });
this.props.onDragStart && this.props.onDragStart(e);
setTimeout(() => this.audio.pause(), 0);
});

@@ -192,7 +198,11 @@

slider.addEventListener('drag', (e) => {
if (e.clientX) {
this.setState({ dragLeft: e.clientX - this.bar.getBoundingClientRect().left });
if (!this.audio.src) {
return;
}
if (dragX) {
this.setState({ dragLeft: dragX - this.bar.getBoundingClientRect().left });
this.props.onDragMove && this.props.onDragMove(e);
}
});
slider.addEventListener('touchmove', (e) => {

@@ -204,4 +214,7 @@ this.setState({ dragLeft: e.touches[0].clientX - this.bar.getBoundingClientRect().left });

slider.addEventListener('dragend', (e) => {
if (!this.audio.src) {
return;
}
const audio = this.audio;
audio.currentTime = audio.duration * this.state.dragLeft / this.bar.offsetWidth;
audio.currentTime = audio.duration * this.state.dragLeft / this.bar.offsetWidth || 0;
audio.play();

@@ -268,3 +281,2 @@ this.setState({ isDragging: false });

const { hidePlayer } = this.props;
let currentTimeMin = Math.floor(this.state.currentTime / 60);

@@ -282,3 +294,3 @@ let currentTimeSec = Math.floor(this.state.currentTime % 60);

return (
<div style={style.audioPlayerWrapper(hidePlayer)} className="react-h5-audio-player">
<div style={style.audioPlayerWrapper(this.props.hidePlayer)} className="react-h5-audio-player">
<audio

@@ -309,3 +321,4 @@ src={this.props.src}

ref={(ref) => { this.slider = ref; }}
style={style.drag(this.state.dragLeft)} id="drag"
style={style.drag(this.state.dragLeft)}
id="drag"
/>

@@ -337,3 +350,2 @@ </div>

onPlay: React.PropTypes.func,
onSeeked: React.PropTypes.func,
onDragStart: React.PropTypes.func,

@@ -344,5 +356,5 @@ onDragMove: React.PropTypes.func,

src: React.PropTypes.string,
controls: React.PropTypes.bool,
hidePlayer: React.PropTypes.bool,
};
export default H5AudioPlayer;

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc