apm-react-audio-player 1.0.3 → 1.0.4
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 +70 -19
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -86,7 +86,7 @@ function _nonIterableRest() {
|
|
|
86
86
|
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
87
|
}
|
|
88
88
|
|
|
89
|
-
var useAudioPlayer = function useAudioPlayer(audioRef, progressBarRef) {
|
|
89
|
+
var useAudioPlayer = function useAudioPlayer(audioRef, progressBarRef, volumeCtrl) {
|
|
90
90
|
var _useState = React.useState(false),
|
|
91
91
|
_useState2 = _slicedToArray(_useState, 2),
|
|
92
92
|
isPlaying = _useState2[0],
|
|
@@ -108,7 +108,9 @@ var useAudioPlayer = function useAudioPlayer(audioRef, progressBarRef) {
|
|
|
108
108
|
var onLoadedMetadata = function onLoadedMetadata() {
|
|
109
109
|
var seconds = Math.floor(audioRef.current.duration);
|
|
110
110
|
setDuration(seconds);
|
|
111
|
-
|
|
111
|
+
if (!audioRef.current.currentSrc.includes('stream')) {
|
|
112
|
+
progressBarRef.current.max = seconds;
|
|
113
|
+
}
|
|
112
114
|
};
|
|
113
115
|
var updateCurrentTime = function updateCurrentTime() {
|
|
114
116
|
setCurrentTime(progressBarRef.current.value);
|
|
@@ -171,6 +173,11 @@ var useAudioPlayer = function useAudioPlayer(audioRef, progressBarRef) {
|
|
|
171
173
|
var forwardThirty = function forwardThirty() {
|
|
172
174
|
timeTravel(Number(progressBarRef.current.value) + 30);
|
|
173
175
|
};
|
|
176
|
+
var volumeControl = function volumeControl(e) {
|
|
177
|
+
var value = e.target.value;
|
|
178
|
+
var volume = value / 100;
|
|
179
|
+
audioRef.current.volume = volume;
|
|
180
|
+
};
|
|
174
181
|
return {
|
|
175
182
|
onLoadedMetadata: onLoadedMetadata,
|
|
176
183
|
calculateTime: calculateTime,
|
|
@@ -181,7 +188,9 @@ var useAudioPlayer = function useAudioPlayer(audioRef, progressBarRef) {
|
|
|
181
188
|
isPlaying: isPlaying,
|
|
182
189
|
isFinished: isFinishedPlaying,
|
|
183
190
|
currentTime: currentTime,
|
|
184
|
-
duration: duration
|
|
191
|
+
duration: duration,
|
|
192
|
+
volumeCtrl: volumeCtrl,
|
|
193
|
+
volumeControl: volumeControl
|
|
185
194
|
};
|
|
186
195
|
};
|
|
187
196
|
|
|
@@ -194,7 +203,12 @@ var ReactAudioPlayer = function ReactAudioPlayer(props) {
|
|
|
194
203
|
var customStyles = props ? props.style : '';
|
|
195
204
|
var title = props.title,
|
|
196
205
|
description = props.description,
|
|
197
|
-
audioSrc = props.audioSrc
|
|
206
|
+
audioSrc = props.audioSrc,
|
|
207
|
+
volumeCtrl = props.volumeCtrl,
|
|
208
|
+
playBtnClass = props.playBtnClass,
|
|
209
|
+
customHtml = props.customHtml,
|
|
210
|
+
customProps = props.customProps,
|
|
211
|
+
isLive = props.isLive;
|
|
198
212
|
|
|
199
213
|
// hooks
|
|
200
214
|
var _useAudioPlayer = useAudioPlayer(audioPlayerRef, progressBarRef),
|
|
@@ -204,7 +218,8 @@ var ReactAudioPlayer = function ReactAudioPlayer(props) {
|
|
|
204
218
|
changePlayerCurrentTime = _useAudioPlayer.changePlayerCurrentTime,
|
|
205
219
|
isPlaying = _useAudioPlayer.isPlaying,
|
|
206
220
|
currentTime = _useAudioPlayer.currentTime,
|
|
207
|
-
duration = _useAudioPlayer.duration
|
|
221
|
+
duration = _useAudioPlayer.duration,
|
|
222
|
+
volumeControl = _useAudioPlayer.volumeControl;
|
|
208
223
|
return audioSrc && /*#__PURE__*/React__default.createElement("div", {
|
|
209
224
|
className: "audioPlayer",
|
|
210
225
|
style: customStyles && customStyles.audioPlayer
|
|
@@ -214,33 +229,69 @@ var ReactAudioPlayer = function ReactAudioPlayer(props) {
|
|
|
214
229
|
preload: "metadata",
|
|
215
230
|
onLoadedMetadata: onLoadedMetadata
|
|
216
231
|
}), /*#__PURE__*/React__default.createElement("div", {
|
|
217
|
-
className: "
|
|
232
|
+
className: "player-layout"
|
|
233
|
+
}, volumeCtrl && /*#__PURE__*/React__default.createElement("div", {
|
|
234
|
+
className: "player-controls-secondary-outer"
|
|
235
|
+
}, /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("span", {
|
|
236
|
+
className: "player-volume-text"
|
|
237
|
+
}, /*#__PURE__*/React__default.createElement("img", {
|
|
238
|
+
src: "/img/icon-volume-low.svg",
|
|
239
|
+
alt: ""
|
|
240
|
+
}), "Volume"), /*#__PURE__*/React__default.createElement("div", {
|
|
241
|
+
className: "player-controls player-controls-secondary"
|
|
242
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
243
|
+
className: "player-volume"
|
|
244
|
+
}, /*#__PURE__*/React__default.createElement("input", {
|
|
245
|
+
id: "player-volume",
|
|
246
|
+
type: "range",
|
|
247
|
+
className: "player-timeline-progress js-player-volume-current",
|
|
248
|
+
min: 0,
|
|
249
|
+
max: 100,
|
|
250
|
+
"aria-hidden": "true",
|
|
251
|
+
onChange: function onChange(e) {
|
|
252
|
+
return volumeControl(e);
|
|
253
|
+
}
|
|
254
|
+
}))))), /*#__PURE__*/React__default.createElement("div", {
|
|
255
|
+
className: "player-controls"
|
|
256
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
257
|
+
className: "player-btn-play-pause-outer"
|
|
218
258
|
}, /*#__PURE__*/React__default.createElement("button", {
|
|
219
259
|
onClick: togglePlaying,
|
|
220
|
-
className:
|
|
260
|
+
className: playBtnClass,
|
|
221
261
|
style: customStyles && customStyles.playPause
|
|
222
|
-
}, isPlaying ? /*#__PURE__*/React__default.createElement(Pause, null) : /*#__PURE__*/React__default.createElement(Play, {
|
|
223
|
-
className: "
|
|
224
|
-
}
|
|
225
|
-
className: "
|
|
262
|
+
}, isPlaying ? /*#__PURE__*/React__default.createElement(Pause, null) : /*#__PURE__*/React__default.createElement(Play, null)))), customHtml && customHtml, customProps.audioThumbnailSrc && /*#__PURE__*/React__default.createElement("div", {
|
|
263
|
+
className: "player-thumb-and-text"
|
|
264
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
265
|
+
className: "player-thumbnail"
|
|
266
|
+
}, /*#__PURE__*/React__default.createElement("img", {
|
|
267
|
+
className: "player-thumbnail",
|
|
268
|
+
src: customProps.audioThumbnailSrc,
|
|
269
|
+
alt: customProps.audioThumbnailAlt
|
|
270
|
+
}))), !isLive && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
271
|
+
className: "player-currentTime"
|
|
226
272
|
}, calculateTime(currentTime)), /*#__PURE__*/React__default.createElement("div", {
|
|
227
|
-
className: "
|
|
273
|
+
className: "player-timeline"
|
|
228
274
|
}, /*#__PURE__*/React__default.createElement("input", {
|
|
229
275
|
type: "range",
|
|
230
|
-
className: "
|
|
276
|
+
className: "player-timeline-progress",
|
|
231
277
|
defaultValue: "0",
|
|
278
|
+
"aria-hidden": "true",
|
|
232
279
|
ref: progressBarRef,
|
|
233
280
|
onChange: changePlayerCurrentTime
|
|
234
281
|
})), /*#__PURE__*/React__default.createElement("div", {
|
|
235
|
-
className: "duration",
|
|
282
|
+
className: "player-duration",
|
|
236
283
|
style: customStyles && customStyles.duration
|
|
237
|
-
}, duration && !isNaN(duration) && calculateTime(duration)), /*#__PURE__*/React__default.createElement("div", {
|
|
238
|
-
className: "
|
|
284
|
+
}, duration && !isNaN(duration) && calculateTime(duration))), /*#__PURE__*/React__default.createElement("div", {
|
|
285
|
+
className: "player-content"
|
|
239
286
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
240
|
-
className: "
|
|
287
|
+
className: "player-audio-type type-sm"
|
|
288
|
+
}, isLive ? /*#__PURE__*/React__default.createElement("div", {
|
|
289
|
+
className: "player-live-label"
|
|
290
|
+
}, "On Air") : /*#__PURE__*/React__default.createElement("div", {
|
|
291
|
+
className: "player-title"
|
|
241
292
|
}, " ", title || '', " "), /*#__PURE__*/React__default.createElement("div", {
|
|
242
|
-
className: "
|
|
243
|
-
},
|
|
293
|
+
className: "player-description"
|
|
294
|
+
}, description || '', " ")))));
|
|
244
295
|
};
|
|
245
296
|
|
|
246
297
|
exports.ReactAudioPlayer = ReactAudioPlayer;
|