Skip to content

Commit

Permalink
fix custom event registerations
Browse files Browse the repository at this point in the history
  • Loading branch information
afkcodes committed Dec 25, 2023
1 parent 177a541 commit e188525
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 11 deletions.
25 changes: 16 additions & 9 deletions src/audio.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@ import { Equalizer } from 'adapters/equalizer';
import HlsAdapter from 'adapters/hls';
import { AUDIO_X_CONSTANTS, PLAYBACK_STATE } from 'constants/common';
import { BASE_EVENT_CALLBACK_MAP } from 'events/baseEvents';
import {
attachCustomEventListeners,
attachDefaultEventListeners
} from 'events/listeners';
import { attachEventListeners } from 'events/listeners';
import { calculateActualPlayedLength } from 'helpers/common';
import ChangeNotifier from 'helpers/notifier';

Expand All @@ -14,7 +11,6 @@ import {
updateMetaData
} from 'mediasession/mediasessionHandler';
import { READY_STATE } from 'states/audioState';
import { EventListenersList } from 'types';
import { AudioInit, MediaTrack, PlaybackRate } from 'types/audio.types';
import { EqualizerStatus, Preset } from 'types/equalizer.types';

Expand Down Expand Up @@ -89,8 +85,16 @@ class AudioX {
this._audio.crossOrigin = crossOrigin;
this.isPlayLogEnabled = enablePlayLog;

if (useDefaultEventListeners || customEventListeners == null) {
attachDefaultEventListeners(BASE_EVENT_CALLBACK_MAP, enablePlayLog);
if (customEventListeners !== null) {
if (useDefaultEventListeners) {
console.warn(
`useDefaultEventListeners is set to true at init, are you trying to use the default event listeners?
set customEventListeners to null to use default event listeners`
);
}
attachEventListeners(customEventListeners, false);
} else {
attachEventListeners(BASE_EVENT_CALLBACK_MAP, enablePlayLog);
}

if (showNotificationActions) {
Expand Down Expand Up @@ -272,8 +276,11 @@ class AudioX {
return unsubscribe;
}

attachEventListeners(eventListenersList: EventListenersList) {
attachCustomEventListeners(eventListenersList);
addEventListener(
event: keyof HTMLMediaElementEventMap,
callback: () => void
) {
audioInstance.addEventListener(event, callback);
}

getPresets() {
Expand Down
4 changes: 2 additions & 2 deletions src/events/listeners.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { AUDIO_EVENTS, HLS_EVENTS } from './audioEvents';
* this attaches event listeners, for audio also sends a flag to calculate playLog
* loops through the event listeners map and attaches it to the audio element
*/
const attachDefaultEventListeners = (
const attachEventListeners = (
eventListenersCallbackMap: EventListenerCallbackMap,
playLogEnabled: boolean = false
) => {
Expand Down Expand Up @@ -81,6 +81,6 @@ const attachHlsEventsListeners = (

export {
attachCustomEventListeners,
attachDefaultEventListeners,
attachEventListeners,
attachHlsEventsListeners
};

0 comments on commit e188525

Please sign in to comment.