{"version":3,"file":"player.js","mappings":"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","sources":["webpack://audio-player/../utils/toHHMMSS.js","webpack://audio-player/./src/js/player.js","webpack://audio-player/./src/js/player/single.js"],"sourcesContent":["const toHHMMSS = (time) => {\r\n var sec_num = parseInt(time, 10); // don't forget the second param\r\n var hours = Math.floor(sec_num / 3600);\r\n var minutes = Math.floor((sec_num - hours * 3600) / 60);\r\n var seconds = sec_num - hours * 3600 - minutes * 60;\r\n\r\n if (hours < 10) {\r\n hours = \"0\" + hours;\r\n }\r\n if (minutes < 10) {\r\n minutes = \"0\" + minutes;\r\n }\r\n if (seconds < 10) {\r\n seconds = \"0\" + seconds;\r\n }\r\n return minutes + \":\" + seconds;\r\n};\r\n\r\nexport default toHHMMSS;\r\n","import \"./../css/player.scss\";\r\nimport H5AP from \"./player/single\";\r\nconst H5AP_Obj = new H5AP();\r\n\r\n(function ($) {\r\n $(document).ready(function () {\r\n // if script not exists or extract\r\n const mainScript = document.getElementById(\"h5ap-player-js\");\r\n if (!mainScript && typeof h5apPlayer !== \"undefined\") {\r\n const ioScript = document.createElement(\"script\");\r\n ioScript.src = window?.h5apPlayer?.plyrio_js || false;\r\n ioScript.src && document.getElementsByTagName(\"head\")[0].appendChild(ioScript);\r\n\r\n var script = document.createElement(\"script\");\r\n script.src = window?.h5apPlayer?.plyr_js || false;\r\n script.src && document.getElementsByTagName(\"head\")[0].appendChild(script);\r\n }\r\n\r\n /**\r\n * for single video\r\n */\r\n const h5apAudios = document.querySelectorAll(\".h5ap_standard_player\");\r\n Object.keys(h5apAudios).map((item) => {\r\n const audioPlayer = $(h5apAudios[item])[0];\r\n let options = audioPlayer.dataset.options;\r\n options = options == \"{\" ? {} : JSON.parse(options);\r\n options.poster = options.poster ?? audioPlayer.dataset?.poster;\r\n options.source = options.source ?? audioPlayer.dataset?.song;\r\n options.skin = options.skin ?? audioPlayer.dataset?.skin;\r\n options.title = options.title ?? audioPlayer.dataset?.title;\r\n\r\n //remove attribute\r\n audioPlayer.removeAttribute(\"data-options\");\r\n audioPlayer.removeAttribute(\"data-song\");\r\n\r\n if (options) H5AP_Obj.audioPlayer(audioPlayer, options);\r\n });\r\n\r\n H5AP_Obj.stickyPlayer2($(\".h5ap_sticky_player\"));\r\n\r\n /**\r\n * for playlist\r\n */\r\n\r\n /**\r\n * for quick Player\r\n */\r\n const quickPlayers = document.querySelectorAll(\".h5ap_quick_player\");\r\n Object.keys(quickPlayers).map((item) => {\r\n const quickPlayer = $(quickPlayers[item]);\r\n H5AP_Obj.quickPlayer(quickPlayer);\r\n });\r\n\r\n // Single Play button\r\n });\r\n\r\n /**\r\n * This is for Elementor\r\n */\r\n $(window).on(\"elementor/frontend/init\", function () {\r\n //this is for Stamp Auudio Player\r\n elementorFrontend.hooks.addAction(\"frontend/element_ready/StampAudioPlayer.default\", function (scope, $) {\r\n const players = $(scope).find(\".stampAudioPlayer\");\r\n players.map((index, item) => {\r\n item = $(players[index]);\r\n let options = $(item).data(\"option\");\r\n options.source = options.source ?? $(item).data(\"song\");\r\n options.poster = options.poster ?? $(item).data(\"poster\");\r\n H5AP_Obj.audioPlayer(item[0], options);\r\n });\r\n });\r\n\r\n // this is form fusion player\r\n elementorFrontend.hooks.addAction(\"frontend/element_ready/FusionAudioPlayer.default\", function (scope, $) {\r\n const players = $(scope).find(\".h5ap_fusion_player\");\r\n players.map((index, item) => {\r\n item = $(players[index]);\r\n const options = $(item).data(\"option\");\r\n options.source = options.source ?? $(item).data(\"song\");\r\n options.poster = options.poster ?? $(item).data(\"poster\");\r\n H5AP_Obj.audioPlayer(item[0], options);\r\n });\r\n });\r\n\r\n //This is for simple audio player\r\n elementorFrontend.hooks.addAction(\"frontend/element_ready/SimpleAudioPlayer.default\", function (scope, $) {\r\n const players = $(scope).find(\".h5ap_standard_player\");\r\n players.map((index, item) => {\r\n item = $(players[index]);\r\n const options = $(item).data(\"options\") || {};\r\n $(item).removeAttr(\"data-options\");\r\n options.source = options?.source ?? $(item).data(\"song\");\r\n options.poster = options?.poster ?? $(item).data(\"poster\");\r\n H5AP_Obj.audioPlayer(item[0], options);\r\n });\r\n });\r\n });\r\n})(jQuery);\r\n","import toHHMMSS from \"../../../../utils/toHHMMSS\";\r\n\r\nclass H5AP {\r\n audioPlayer(audioPlayer, options) {\r\n const $ = jQuery;\r\n const otherControls = {\r\n repeat: true,\r\n };\r\n options.i18n = {};\r\n if (typeof h5ap_i18n != \"undefined\") {\r\n options.i18n = h5ap_i18n;\r\n }\r\n let { controls, seekTime, i18n, title, artist, disablePause, poster, muted, autoplay, source, skin, disableDownload, fusionDownload, color, background, repeat, primaryColor } =\r\n options;\r\n\r\n if (skin === \"default\" && disableDownload === false) {\r\n otherControls.download = true;\r\n }\r\n\r\n if (skin === \"fusion\" && fusionDownload === true) {\r\n otherControls.download = true;\r\n }\r\n\r\n //initialize skin\r\n if (skin === \"fusion\") {\r\n controls = this.skinFusion(poster, title, source, otherControls);\r\n }\r\n\r\n if (skin === \"wave\") {\r\n controls = this.skinWave(poster, title, artist, background, color);\r\n }\r\n\r\n if (skin === \"card-1\") {\r\n controls = this.skinCardOne({ title, artist });\r\n }\r\n if (skin === \"card-2\") {\r\n controls = this.skinCardTwo({ title, artist, poster });\r\n }\r\n\r\n if (skin === \"simple-1\") {\r\n controls = this.skinSimpleOne({ title, artist });\r\n }\r\n if (skin === \"simple-2\") {\r\n controls = this.skinSimpleTwo({ title, artist, poster });\r\n }\r\n\r\n if (skin === \"stamp\") {\r\n controls = this.skinStamp();\r\n }\r\n\r\n //remove focus\r\n $(\".skin_default .plyr__control\").on(\"focus\", function () {\r\n setTimeout(() => {\r\n this.blur();\r\n }, 1000);\r\n });\r\n\r\n let plyr = localStorage.getItem(\"plyr\");\r\n // const isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);\r\n const isFirefox = typeof InstallTrigger !== \"undefined\";\r\n if (autoplay && plyr && isFirefox) {\r\n plyr = JSON.parse(plyr);\r\n plyr.muted = true;\r\n localStorage.setItem(\"plyr\", JSON.stringify(plyr));\r\n } else if (plyr) {\r\n plyr = JSON.parse(plyr);\r\n plyr.muted = false;\r\n localStorage.setItem(\"plyr\", JSON.stringify(plyr));\r\n }\r\n\r\n //initilize player\r\n const player = new Plyr($(audioPlayer).find(\"audio\"), {\r\n controls,\r\n i18n,\r\n seekTime,\r\n loop: {\r\n active: repeat,\r\n },\r\n muted,\r\n autoplay,\r\n speed: { selected: 1, options: h5apPlayer?.speed.map(Number) },\r\n });\r\n\r\n if (skin != \"default\") {\r\n player.speed = 1;\r\n }\r\n\r\n if (autoplay) {\r\n player.play();\r\n }\r\n\r\n if (skin === \"wave\" && player) {\r\n this.wave(audioPlayer, player, primaryColor, background);\r\n }\r\n\r\n if (skin === \"card-1\" && player) {\r\n this.cardOne(audioPlayer, player, poster);\r\n }\r\n if (skin === \"card-2\" && player) {\r\n this.cardTwo(audioPlayer, player, poster);\r\n }\r\n\r\n if (disablePause) {\r\n this.disablePause(player);\r\n }\r\n\r\n //apply stamp player style\r\n if (options.skin === \"stamp\" && color != \"\") {\r\n $(audioPlayer).find(\".StampAudioPlayerSkin button svg\").css(\"fill\", color);\r\n $(audioPlayer).find(\".StampAudioPlayerSkin .extraOptions .audioTitle\").css(\"color\", color);\r\n $(audioPlayer).find(\".StampAudioPlayerSkin .mainOptions .controls .audioProgressView .progressWrap .currentTime\").css(\"color\", color);\r\n $(audioPlayer).find(\".StampAudioPlayerSkin .mainOptions .controls .audioProgressView .progressWrap .totalTime\").css(\"color\", color);\r\n $(audioPlayer).find(\".StampAudioPlayerSkin .mainOptions .controls .playPauseAudio\").css(\"border-color\", color);\r\n $(audioPlayer).find(\".audioTitle\").text(title);\r\n }\r\n\r\n // responsive design if container width less than 500px\r\n if ($(audioPlayer).width() < 500 && skin === \"fusion\") {\r\n $(audioPlayer).addClass(\"skinFusionMobile\");\r\n }\r\n\r\n // disable other player when playing this audio\r\n if (!h5apPlayer?.multipleAudio) {\r\n $(audioPlayer)\r\n .find('.plyr__control[data-plyr=\"play\"]')\r\n .on(\"click\", () => {\r\n if (player.playing) {\r\n this.disableOtherPlayer(player, true);\r\n }\r\n });\r\n }\r\n\r\n //dynamic repeat button\r\n $(audioPlayer)\r\n .find('[data-plyr=\"repeat\"]')\r\n .on(\"click\", function () {\r\n $(this).attr(\"data-active\", $(this).attr(\"data-active\") === \"true\" ? \"false\" : \"true\");\r\n });\r\n if (repeat === true) {\r\n $(audioPlayer).find('[data-plyr=\"repeat\"]').attr(\"data-active\", \"true\");\r\n }\r\n\r\n player.on(\"ended\", function () {\r\n const repeat = $(audioPlayer).find('[data-plyr=\"repeat\"]').attr(\"data-active\");\r\n if (repeat === \"true\") {\r\n player.play();\r\n }\r\n });\r\n\r\n //dynamic repeat button for playlist\r\n $(audioPlayer)\r\n .find('[data-plyr=\"playlist\"]')\r\n .on(\"click\", function () {\r\n $(this).attr(\"data-active\", $(this).attr(\"data-active\") === \"true\" ? \"false\" : \"true\");\r\n });\r\n\r\n // update source if audio is not playing (soundcloud)\r\n let intervalId = null;\r\n player.on(\"ready\", function () {\r\n const loadingPlaceholder = player.elements.container?.nextElementSibling;\r\n if (loadingPlaceholder && loadingPlaceholder.classList.contains(\"h5ap_lp\")) {\r\n loadingPlaceholder.style.display = \"none\";\r\n }\r\n\r\n if (player.source?.includes(\"soundcloud\")) {\r\n player.speed = 1;\r\n if (intervalId) {\r\n clearInterval(intervalId);\r\n }\r\n intervalId = setInterval(() => {\r\n if (!player.playing) {\r\n let tempSource = source;\r\n if (source.includes(\"?\")) {\r\n tempSource = source + `&_${parseInt(Math.random(255) * 100)}`;\r\n } else {\r\n tempSource = source + `?_${parseInt(Math.random(255) * 100)}`;\r\n }\r\n\r\n player.source = {\r\n type: \"audio\",\r\n title: \"Audio File\",\r\n sources: [\r\n {\r\n src: tempSource,\r\n type: \"audio/mp3\",\r\n },\r\n ],\r\n };\r\n }\r\n }, 60 * 3 * 1000);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {*} selector\r\n * @param {*} options\r\n */\r\n quickPlayer(quickPlayer) {\r\n const $ = jQuery;\r\n const options = $(quickPlayer).data(\"options\");\r\n options.i18n = {};\r\n if (typeof h5ap_i18n != \"undefined\") {\r\n options.i18n = h5ap_i18n;\r\n }\r\n const { seekTime, controls, i18n } = options;\r\n const player = new Plyr($(quickPlayer).find(\"audio\"), {\r\n controls,\r\n i18n,\r\n seekTime,\r\n speed: { selected: 1, options: h5apPlayer?.speed.map(Number) },\r\n });\r\n\r\n //pause other player if this player is playing\r\n if (!h5apPlayer?.multipleAudio) {\r\n $(quickPlayer)\r\n .find('.plyr__control[data-plyr=\"play\"]')\r\n .on(\"click\", () => {\r\n if (player.playing) {\r\n this.disableOtherPlayer(player, true);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {String} stickyPlayer\r\n */\r\n stickyPlayer(stickyPlayer) {\r\n const $ = jQuery;\r\n const btnClose = $(stickyPlayer).find(\".icon-no-alt\");\r\n const btnMinimize = $(stickyPlayer).find(\".icon-minus\");\r\n const btnMaximize = $(stickyPlayer).find(\".icon-plus\");\r\n const poster = $(stickyPlayer).data(\"poster\");\r\n const source = $(stickyPlayer).data(\"source\");\r\n const title = $(stickyPlayer).data(\"title\");\r\n const options = $(stickyPlayer).data(\"options\");\r\n const { initialVolume, skin, background } = options;\r\n const otherControls = {};\r\n\r\n if (options?.stickyDownload === true) {\r\n otherControls.download = true;\r\n }\r\n if (options?.repeat === true) {\r\n otherControls.repeat = true;\r\n }\r\n\r\n $(window).on(\"scroll\", function () {\r\n if (window.pageYOffset > 300) {\r\n $(stickyPlayer).fadeIn();\r\n }\r\n });\r\n\r\n //get player screen\r\n let controls = \"\";\r\n if (skin === \"simple\") {\r\n controls = this.skinSimple(title, poster, background);\r\n } else {\r\n controls = this.skinFusion(poster, title, source, otherControls);\r\n }\r\n\r\n let storage = localStorage.getItem(\"h5apStickyplaying\");\r\n let option = { controls };\r\n if (options?.remember && storage != \"false\") {\r\n let plyr = localStorage.getItem(\"plyr\");\r\n // if (autoplay && plyr) {\r\n // plyr = JSON.parse(plyr);\r\n // plyr.volume = 0;\r\n // plyr.muted = true;\r\n // localStorage.setItem(\"plyr\", JSON.stringify(plyr));\r\n // } else if (plyr) {\r\n plyr = JSON.parse(plyr);\r\n plyr.volume = 0;\r\n plyr.muted = true;\r\n localStorage.setItem(\"plyr\", JSON.stringify(plyr));\r\n // }\r\n }\r\n\r\n const player = new Plyr($(stickyPlayer).find(\"audio\"), option);\r\n\r\n player.speed = 1;\r\n\r\n if (storage != \"false\") {\r\n storage = JSON.parse(storage);\r\n setTimeout(() => {\r\n player.volume = 0.5;\r\n player.currentTime = storage?.time;\r\n }, 100);\r\n player.play();\r\n }\r\n\r\n // setTimeout(() => {\r\n // player.play();\r\n // }, 2000);\r\n\r\n // disable other player when playing this audio\r\n if (!h5apPlayer?.multipleAudio) {\r\n $(stickyPlayer)\r\n .find('.plyr__control[data-plyr=\"play\"]')\r\n .on(\"click\", () => {\r\n if (player.playing) {\r\n this.disableOtherPlayer(player, true);\r\n }\r\n });\r\n }\r\n\r\n //close player\r\n btnClose.on(\"click\", function () {\r\n $(stickyPlayer).fadeOut();\r\n $(stickyPlayer).remove();\r\n player.stop();\r\n });\r\n\r\n // minimize player\r\n btnMinimize.on(\"click\", function () {\r\n $(stickyPlayer).addClass(\"minimized\");\r\n $(stickyPlayer).removeClass(\"maximized\");\r\n });\r\n\r\n btnMaximize.on(\"click\", function () {\r\n $(stickyPlayer).addClass(\"maximized\");\r\n $(stickyPlayer).removeClass(\"minimized\");\r\n });\r\n\r\n //set initial volume\r\n player.volume = initialVolume / 100;\r\n\r\n $(stickyPlayer)\r\n .find('[data-plyr=\"repeat\"]')\r\n .on(\"click\", function () {\r\n $(this).attr(\"data-active\", $(this).attr(\"data-active\") === \"true\" ? \"false\" : \"true\");\r\n });\r\n if (options?.repeat === true) {\r\n $(stickyPlayer).find('[data-plyr=\"repeat\"]').attr(\"data-active\", \"true\");\r\n }\r\n player.on(\"ended\", function () {\r\n const repeat = $(stickyPlayer).find('[data-plyr=\"repeat\"]').attr(\"data-active\");\r\n if (repeat === \"true\") {\r\n player.play();\r\n }\r\n });\r\n\r\n // player.on(\"pause\", function () {\r\n // console.log(\"source\", player.source);\r\n // console.log(\"md5\", MD5(decodeURI(player.source)).toString());\r\n // });\r\n\r\n // set cookie if there\r\n window.onbeforeunload = (event) => {\r\n // const e = event || window.event;\r\n // e.preventDefault();\r\n if (player.playing) {\r\n const object = { time: player.currentTime };\r\n if (stickyPlayer[0]) {\r\n object.html = controls;\r\n object.source = player.source;\r\n }\r\n localStorage.setItem(\"h5apStickyplaying\", JSON.stringify(object));\r\n } else {\r\n localStorage.setItem(\"h5apStickyplaying\", false);\r\n }\r\n };\r\n\r\n // if (!source) {\r\n // const downloadBtn = $(stickyPlayer).find(\".plyr__download\");\r\n // downloadBtn.hide();\r\n // }\r\n }\r\n\r\n /**\r\n *\r\n * @param {String} stickyPlayer\r\n */\r\n stickyPlayer2(stickyPlayer, optionss = false, infoss = false) {\r\n const detector = this.getDetectorData(stickyPlayer, { options: optionss, infos: infoss, initializer: \"stickyPlayer2\" });\r\n if (!detector) return false;\r\n const { wrapper, options } = detector;\r\n\r\n const $ = jQuery;\r\n const btnClose = $(wrapper).find(\".icon-no-alt\");\r\n const btnMinimize = $(wrapper).find(\".icon-minus\");\r\n const btnMaximize = $(wrapper).find(\".icon-plus\");\r\n const poster = $(wrapper).data(\"poster\");\r\n const source = $(wrapper).data(\"source\");\r\n const title = $(wrapper).data(\"title\");\r\n // const options = $(stickyPlayer).data(\"options\");\r\n const { initialVolume, skin, background } = options;\r\n const otherControls = {};\r\n\r\n // remove attributes\r\n $(wrapper).removeAttr(\"data-poster\");\r\n $(wrapper).removeAttr(\"data-source\");\r\n $(wrapper).removeAttr(\"data-title\");\r\n $(wrapper).removeAttr(\"data-options\");\r\n\r\n if (options?.stickyDownload === true) {\r\n otherControls.download = true;\r\n }\r\n if (options?.repeat === true) {\r\n otherControls.repeat = true;\r\n }\r\n\r\n $(window).on(\"scroll\", function () {\r\n if (window.pageYOffset > 300) {\r\n $(wrapper).fadeIn();\r\n }\r\n });\r\n\r\n //get player screen\r\n let controls = \"\";\r\n if (skin === \"simple\") {\r\n controls = this.skinSimple(title, poster, background);\r\n } else {\r\n controls = this.skinFusion(poster, title, source, otherControls);\r\n }\r\n\r\n let storage = localStorage.getItem(\"h5apStickyplaying\");\r\n let option = { controls };\r\n if (options?.remember && storage != \"false\") {\r\n let plyr = localStorage.getItem(\"plyr\") || \"{}\";\r\n plyr = JSON.parse(plyr);\r\n plyr.volume = 0;\r\n plyr.muted = true;\r\n localStorage.setItem(\"plyr\", JSON.stringify(plyr));\r\n }\r\n\r\n const player = new Plyr($(wrapper).find(\"audio\"), option);\r\n\r\n if (storage != \"false\") {\r\n storage = JSON.parse(storage);\r\n setTimeout(() => {\r\n player.volume = 0.5;\r\n player.currentTime = storage?.time;\r\n }, 100);\r\n player.play();\r\n }\r\n\r\n // setTimeout(() => {\r\n // player.play();\r\n // }, 2000);\r\n\r\n // disable other player when playing this audio\r\n if (!h5apPlayer?.multipleAudio) {\r\n $(wrapper)\r\n .find('.plyr__control[data-plyr=\"play\"]')\r\n .on(\"click\", () => {\r\n if (player.playing) {\r\n this.disableOtherPlayer(player, true);\r\n }\r\n });\r\n }\r\n\r\n //close player\r\n btnClose.on(\"click\", function () {\r\n $(wrapper).fadeOut();\r\n $(wrapper).remove();\r\n player.stop();\r\n });\r\n\r\n // minimize player\r\n btnMinimize.on(\"click\", function () {\r\n $(wrapper).addClass(\"minimized\");\r\n $(wrapper).removeClass(\"maximized\");\r\n });\r\n\r\n btnMaximize.on(\"click\", function () {\r\n $(wrapper).addClass(\"maximized\");\r\n $(wrapper).removeClass(\"minimized\");\r\n });\r\n\r\n //set initial volume\r\n player.volume = initialVolume / 100;\r\n\r\n $(wrapper)\r\n .find('[data-plyr=\"repeat\"]')\r\n .on(\"click\", function () {\r\n $(this).attr(\"data-active\", $(this).attr(\"data-active\") === \"true\" ? \"false\" : \"true\");\r\n });\r\n if (options?.repeat === true) {\r\n $(wrapper).find('[data-plyr=\"repeat\"]').attr(\"data-active\", \"true\");\r\n }\r\n\r\n player.on(\"ended\", function () {\r\n const repeat = $(wrapper).find('[data-plyr=\"repeat\"]').attr(\"data-active\");\r\n if (repeat === \"true\") {\r\n player.play();\r\n }\r\n });\r\n\r\n //draggble\r\n // new Dragable(wrapper, {\r\n // setPosition: false,\r\n // useGPU: false,\r\n // onDrag: (element) => {\r\n // if (element) {\r\n // element.style.bottom = \"100%\";\r\n // }\r\n // },\r\n // handle: $(wrapper).find(\".rewind_play_fastforward\")[0],\r\n // });\r\n // $(wrapper).find(\".rewind_play_fastforward\").css(\"cursor\", \"move\");\r\n }\r\n\r\n /**\r\n *\r\n * @param {*} player\r\n */\r\n disableOtherPlayer(player, play = true) {\r\n const $ = jQuery;\r\n const players = $(\"audio\");\r\n players.each(function () {\r\n $(this)[0].pause();\r\n });\r\n\r\n if (play) {\r\n player?.play();\r\n } else {\r\n player?.pause();\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {String} poster\r\n * @param {String} title\r\n * @param {URL} source\r\n * @param {Object} otherControls\r\n * @returns Fusion Skin\r\n */\r\n skinFusion(poster = null, title = null, source = null, otherControls = { download: false }) {\r\n const download =\r\n otherControls?.download === true\r\n ? `\r\n \r\n Download\r\n `\r\n : \"\";\r\n const repeat =\r\n otherControls?.repeat === true\r\n ? ``\r\n : \"\";\r\n const playlist =\r\n otherControls?.playlist === true\r\n ? ``\r\n : \"\";\r\n return `