apm-react-audio-player 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +73 -19
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
6
6
|
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var React__default = _interopDefault(React);
|
|
9
|
+
var Image = _interopDefault(require('next/image'));
|
|
9
10
|
|
|
10
11
|
var Play = function Play() {
|
|
11
12
|
return /*#__PURE__*/React__default.createElement("svg", {
|
|
@@ -86,7 +87,7 @@ function _nonIterableRest() {
|
|
|
86
87
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
87
88
|
}
|
|
88
89
|
|
|
89
|
-
var useAudioPlayer = function useAudioPlayer(audioRef, progressBarRef) {
|
|
90
|
+
var useAudioPlayer = function useAudioPlayer(audioRef, progressBarRef, volumeCtrl) {
|
|
90
91
|
var _useState = React.useState(false),
|
|
91
92
|
_useState2 = _slicedToArray(_useState, 2),
|
|
92
93
|
isPlaying = _useState2[0],
|
|
@@ -108,7 +109,9 @@ var useAudioPlayer = function useAudioPlayer(audioRef, progressBarRef) {
|
|
|
108
109
|
var onLoadedMetadata = function onLoadedMetadata() {
|
|
109
110
|
var seconds = Math.floor(audioRef.current.duration);
|
|
110
111
|
setDuration(seconds);
|
|
111
|
-
|
|
112
|
+
if (!audioRef.current.currentSrc.includes('stream')) {
|
|
113
|
+
progressBarRef.current.max = seconds;
|
|
114
|
+
}
|
|
112
115
|
};
|
|
113
116
|
var updateCurrentTime = function updateCurrentTime() {
|
|
114
117
|
setCurrentTime(progressBarRef.current.value);
|
|
@@ -171,6 +174,11 @@ var useAudioPlayer = function useAudioPlayer(audioRef, progressBarRef) {
|
|
|
171
174
|
var forwardThirty = function forwardThirty() {
|
|
172
175
|
timeTravel(Number(progressBarRef.current.value) + 30);
|
|
173
176
|
};
|
|
177
|
+
var volumeControl = function volumeControl(e) {
|
|
178
|
+
var value = e.target.value;
|
|
179
|
+
var volume = value / 100;
|
|
180
|
+
audioRef.current.volume = volume;
|
|
181
|
+
};
|
|
174
182
|
return {
|
|
175
183
|
onLoadedMetadata: onLoadedMetadata,
|
|
176
184
|
calculateTime: calculateTime,
|
|
@@ -181,7 +189,9 @@ var useAudioPlayer = function useAudioPlayer(audioRef, progressBarRef) {
|
|
|
181
189
|
isPlaying: isPlaying,
|
|
182
190
|
isFinished: isFinishedPlaying,
|
|
183
191
|
currentTime: currentTime,
|
|
184
|
-
duration: duration
|
|
192
|
+
duration: duration,
|
|
193
|
+
volumeCtrl: volumeCtrl,
|
|
194
|
+
volumeControl: volumeControl
|
|
185
195
|
};
|
|
186
196
|
};
|
|
187
197
|
|
|
@@ -194,7 +204,12 @@ var ReactAudioPlayer = function ReactAudioPlayer(props) {
|
|
|
194
204
|
var customStyles = props ? props.style : '';
|
|
195
205
|
var title = props.title,
|
|
196
206
|
description = props.description,
|
|
197
|
-
audioSrc = props.audioSrc
|
|
207
|
+
audioSrc = props.audioSrc,
|
|
208
|
+
volumeCtrl = props.volumeCtrl,
|
|
209
|
+
playBtnClass = props.playBtnClass,
|
|
210
|
+
customHtml = props.customHtml,
|
|
211
|
+
customProps = props.customProps,
|
|
212
|
+
isLive = props.isLive;
|
|
198
213
|
|
|
199
214
|
// hooks
|
|
200
215
|
var _useAudioPlayer = useAudioPlayer(audioPlayerRef, progressBarRef),
|
|
@@ -204,7 +219,8 @@ var ReactAudioPlayer = function ReactAudioPlayer(props) {
|
|
|
204
219
|
changePlayerCurrentTime = _useAudioPlayer.changePlayerCurrentTime,
|
|
205
220
|
isPlaying = _useAudioPlayer.isPlaying,
|
|
206
221
|
currentTime = _useAudioPlayer.currentTime,
|
|
207
|
-
duration = _useAudioPlayer.duration
|
|
222
|
+
duration = _useAudioPlayer.duration,
|
|
223
|
+
volumeControl = _useAudioPlayer.volumeControl;
|
|
208
224
|
return audioSrc && /*#__PURE__*/React__default.createElement("div", {
|
|
209
225
|
className: "audioPlayer",
|
|
210
226
|
style: customStyles && customStyles.audioPlayer
|
|
@@ -214,33 +230,71 @@ var ReactAudioPlayer = function ReactAudioPlayer(props) {
|
|
|
214
230
|
preload: "metadata",
|
|
215
231
|
onLoadedMetadata: onLoadedMetadata
|
|
216
232
|
}), /*#__PURE__*/React__default.createElement("div", {
|
|
217
|
-
className: "
|
|
233
|
+
className: "player-layout"
|
|
234
|
+
}, volumeCtrl && /*#__PURE__*/React__default.createElement("div", {
|
|
235
|
+
className: "player-controls-secondary-outer"
|
|
236
|
+
}, /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("span", {
|
|
237
|
+
className: "player-volume-text"
|
|
238
|
+
}, /*#__PURE__*/React__default.createElement("img", {
|
|
239
|
+
src: "/img/icon-volume-low.svg",
|
|
240
|
+
alt: ""
|
|
241
|
+
}), "Volume"), /*#__PURE__*/React__default.createElement("div", {
|
|
242
|
+
className: "player-controls player-controls-secondary"
|
|
243
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
244
|
+
className: "player-volume"
|
|
245
|
+
}, /*#__PURE__*/React__default.createElement("input", {
|
|
246
|
+
id: "player-volume",
|
|
247
|
+
type: "range",
|
|
248
|
+
className: "player-timeline-progress js-player-volume-current",
|
|
249
|
+
min: 0,
|
|
250
|
+
max: 100,
|
|
251
|
+
"aria-hidden": "true",
|
|
252
|
+
onChange: function onChange(e) {
|
|
253
|
+
return volumeControl(e);
|
|
254
|
+
}
|
|
255
|
+
}))))), /*#__PURE__*/React__default.createElement("div", {
|
|
256
|
+
className: "player-controls"
|
|
257
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
258
|
+
className: "player-btn-play-pause-outer"
|
|
218
259
|
}, /*#__PURE__*/React__default.createElement("button", {
|
|
219
260
|
onClick: togglePlaying,
|
|
220
|
-
className:
|
|
261
|
+
className: playBtnClass,
|
|
221
262
|
style: customStyles && customStyles.playPause
|
|
222
|
-
}, isPlaying ? /*#__PURE__*/React__default.createElement(Pause, null) : /*#__PURE__*/React__default.createElement(Play, {
|
|
223
|
-
className: "
|
|
224
|
-
}
|
|
225
|
-
className: "
|
|
263
|
+
}, isPlaying ? /*#__PURE__*/React__default.createElement(Pause, null) : /*#__PURE__*/React__default.createElement(Play, null)))), customHtml && customHtml, customProps.audioThumbnailSrc && /*#__PURE__*/React__default.createElement("div", {
|
|
264
|
+
className: "player-thumb-and-text"
|
|
265
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
266
|
+
className: "player-thumbnail"
|
|
267
|
+
}, /*#__PURE__*/React__default.createElement(Image, {
|
|
268
|
+
className: "player-thumbnail",
|
|
269
|
+
src: customProps.audioThumbnailSrc,
|
|
270
|
+
alt: customProps.audioThumbnailAlt,
|
|
271
|
+
width: 500,
|
|
272
|
+
height: 500
|
|
273
|
+
}))), !isLive && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
274
|
+
className: "player-currentTime"
|
|
226
275
|
}, calculateTime(currentTime)), /*#__PURE__*/React__default.createElement("div", {
|
|
227
|
-
className: "
|
|
276
|
+
className: "player-timeline"
|
|
228
277
|
}, /*#__PURE__*/React__default.createElement("input", {
|
|
229
278
|
type: "range",
|
|
230
|
-
className: "
|
|
279
|
+
className: "player-timeline-progress",
|
|
231
280
|
defaultValue: "0",
|
|
281
|
+
"aria-hidden": "true",
|
|
232
282
|
ref: progressBarRef,
|
|
233
283
|
onChange: changePlayerCurrentTime
|
|
234
284
|
})), /*#__PURE__*/React__default.createElement("div", {
|
|
235
|
-
className: "duration",
|
|
285
|
+
className: "player-duration",
|
|
236
286
|
style: customStyles && customStyles.duration
|
|
237
|
-
}, duration && !isNaN(duration) && calculateTime(duration)), /*#__PURE__*/React__default.createElement("div", {
|
|
238
|
-
className: "
|
|
287
|
+
}, duration && !isNaN(duration) && calculateTime(duration))), /*#__PURE__*/React__default.createElement("div", {
|
|
288
|
+
className: "player-content"
|
|
239
289
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
240
|
-
className: "
|
|
290
|
+
className: "player-audio-type type-sm"
|
|
291
|
+
}, isLive ? /*#__PURE__*/React__default.createElement("div", {
|
|
292
|
+
className: "player-live-label"
|
|
293
|
+
}, "On Air") : /*#__PURE__*/React__default.createElement("div", {
|
|
294
|
+
className: "player-title"
|
|
241
295
|
}, " ", title || '', " "), /*#__PURE__*/React__default.createElement("div", {
|
|
242
|
-
className: "
|
|
243
|
-
},
|
|
296
|
+
className: "player-description"
|
|
297
|
+
}, description || '', " ")))));
|
|
244
298
|
};
|
|
245
299
|
|
|
246
300
|
exports.ReactAudioPlayer = ReactAudioPlayer;
|