{"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 ioScript.id = \"bplugins-plyrio-js\";\r\n\r\n var script = document.createElement(\"script\");\r\n script.src = window?.h5apPlayer?.plyr_js || false;\r\n script.id = \"h5ap-player-js\";\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\r\n Object.keys(h5apAudios).map((item) => {\r\n const audioPlayer = $(h5apAudios[item])[0];\r\n let options = audioPlayer.dataset.options;\r\n try {\r\n options = options == \"{\" ? {} : JSON.parse(options);\r\n } catch (error) {\r\n options = {};\r\n }\r\n // console.log(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 // alert(\"working fine\");\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 // window.players = players;\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, startTime, source, skin, disableDownload, fusionDownload, color, background, repeat, primaryColor } = 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 player.on(\"ready\", function () {\r\n const currentTime = parseInt(startTime);\r\n player.currentTime = currentTime;\r\n const interval = setInterval(() => {\r\n if (currentTime > player.currentTime) {\r\n player.currentTime = currentTime;\r\n } else {\r\n clearInterval(interval);\r\n }\r\n }, 50);\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 = () => {\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 \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 return `
\r\n
\r\n \"\"\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

${title}

\r\n
\r\n
\r\n
00:00
\r\n
\r\n \r\n % buffered\r\n 00:00\r\n
\r\n
00:00
\r\n
\r\n
\r\n
\r\n
\r\n ${download}\r\n ${repeat}\r\n ${playlist}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
`;\r\n }\r\n\r\n skinStamp() {\r\n return `
\r\n \r\n
\r\n

Audio Title

\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n 00:00\r\n
% buffered00:20
\r\n 00:00\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
`;\r\n }\r\n\r\n skinSimple(title = \"\", logo = \"\", background = \"\") {\r\n return `
\r\n
\r\n \r\n
\r\n
${title}
\r\n
\r\n \"\"\r\n
\r\n
`;\r\n }\r\n\r\n skinWave(poster = \"\", title = \"\", author = \"\") {\r\n return `
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
00:00
\r\n
00:00
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n ${title && `

${title}

`}\r\n ${author && `

${author}

`}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
`;\r\n }\r\n\r\n skinCardOne(info = {}) {\r\n return `
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n % buffered\r\n 00:00\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
`;\r\n }\r\n\r\n skinCardTwo(info = {}) {\r\n return `
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n ${info?.title}\r\n ${info?.artist}\r\n
\r\n
\r\n
\r\n
`;\r\n }\r\n\r\n skinSimpleOne() {\r\n return `
\r\n
\r\n
\r\n
\r\n \r\n % buffered\r\n 00:00\r\n
\r\n
\r\n
\r\n
00:00
\r\n
00:00
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
`;\r\n }\r\n\r\n skinSimpleTwo({ poster }) {\r\n return `
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
`;\r\n }\r\n\r\n disablePause(player) {\r\n player.on(\"pause\", function () {\r\n if (!player.ended) {\r\n player.play();\r\n }\r\n });\r\n }\r\n\r\n getDetectorData(wrapper, data = {}) {\r\n let mediaElement = null;\r\n let { options, infos, initializer, selector } = data;\r\n\r\n // get the exact wrapper\r\n if (wrapper === null) {\r\n return false;\r\n }\r\n if (typeof wrapper[0] !== \"undefined\") {\r\n wrapper.map((index, item) => {\r\n this[initializer](item, options, infos);\r\n });\r\n return false;\r\n }\r\n if (typeof wrapper.length !== \"undefined\" && wrapper.length === 0) {\r\n return false;\r\n }\r\n if (wrapper.querySelector(selector) !== null) {\r\n wrapper = wrapper.querySelector(selector);\r\n }\r\n\r\n //get data from attribute if it not pass in function\r\n if (!options && jQuery(wrapper).attr(\"data-options\") != undefined) {\r\n options = JSON.parse(jQuery(wrapper).attr(\"data-options\"));\r\n }\r\n\r\n if (!infos && jQuery(wrapper).attr(\"data-infos\") != undefined) {\r\n infos = JSON.parse(jQuery(wrapper).attr(\"data-infos\"));\r\n }\r\n\r\n mediaElement = wrapper.querySelector(\"audio\");\r\n\r\n return {\r\n wrapper,\r\n options,\r\n infos,\r\n mediaElement,\r\n };\r\n }\r\n\r\n cardOne(wrapper, player, poster = \"\") {\r\n const detailsEl = wrapper.querySelector(\".details\");\r\n const maskEl = wrapper.querySelector(\".mask\");\r\n const playBtn = wrapper.querySelector(\"#play-button\");\r\n const infoOne = wrapper.querySelector(\".player-info.info-one\");\r\n const infoTwo = wrapper.querySelector(\".player-info.info-two\");\r\n const cardContainer = wrapper.querySelector(\".skin_card_container\");\r\n const anmOne = wrapper.querySelector(\".waves-animation-one\");\r\n\r\n maskEl.style.background = `url(${poster})`;\r\n\r\n player.on(\"play\", function () {\r\n cardContainer.classList.add(\"playing\");\r\n playBtn.classList.add(\"play-active\");\r\n playBtn.classList.remove(\"play-inactive\");\r\n playBtn.style.display = \"none\";\r\n infoOne.style.display = \"none\";\r\n infoTwo.style.display = \"block\";\r\n infoTwo.classList.add(\"info-active\");\r\n anmOne.style.display = \"block\";\r\n detailsEl.style.display = \"block\";\r\n });\r\n\r\n player.on(\"ready\", function () {\r\n const durationEl = infoTwo.querySelector(\".plyr__time--duration\");\r\n durationEl.innerText = toHHMMSS(player.duration);\r\n });\r\n }\r\n\r\n cardTwo(wrapper, player) {\r\n const progressEl = wrapper.querySelector(\".amplitude-song-played-progress\");\r\n progressEl.addEventListener(\"click\", function (e) {\r\n const position = player.duration / progressEl.offsetWidth;\r\n player.currentTime = e.offsetX * position;\r\n });\r\n\r\n player.on(\"timeupdate\", function () {\r\n progressEl.setAttribute(\"value\", (100 / player.duration) * player.currentTime);\r\n });\r\n }\r\n\r\n wave(wrapper, player, color = \"#fff\", background = \"#333\") {\r\n const audio = jQuery(wrapper).find(\"audio\");\r\n const title = jQuery(wrapper).find(\".title-author h2\");\r\n if (title) {\r\n const titleText = title.text();\r\n const dot = titleText.length > title?.width() / 10.5 ? \"...\" : \"\";\r\n jQuery(title).text(titleText.substr(0, title?.width() / 10.5) + dot);\r\n }\r\n var AudioContext = window.AudioContext || window.webkitAudioContext || false;\r\n const context = new AudioContext();\r\n\r\n if (context) {\r\n var src = context.createMediaElementSource(audio[0]);\r\n var analyser = context.createAnalyser();\r\n\r\n var canvas = jQuery(wrapper).find(\"#wave-canvas\")[0];\r\n if (canvas) {\r\n canvas.width = window.innerWidth;\r\n canvas.height = window.innerHeight;\r\n var ctx = canvas.getContext(\"2d\");\r\n\r\n src.connect(analyser);\r\n analyser.connect(context.destination);\r\n\r\n analyser.fftSize = 512;\r\n if (wrapper?.offsetWidth > 800) {\r\n analyser.fftSize = 1024;\r\n }\r\n\r\n var bufferLength = analyser.frequencyBinCount;\r\n\r\n var dataArray = new Uint8Array(bufferLength);\r\n\r\n var WIDTH = canvas.width;\r\n var HEIGHT = canvas.height;\r\n\r\n var barWidth = (WIDTH / bufferLength) * 1;\r\n var barHeight;\r\n var x = 0;\r\n\r\n const renderFrame = () => {\r\n requestAnimationFrame(renderFrame);\r\n\r\n x = 0;\r\n\r\n analyser.getByteFrequencyData(dataArray);\r\n\r\n ctx.fillStyle = background;\r\n ctx.fillRect(0, 0, WIDTH, HEIGHT);\r\n\r\n for (var i = 0; i < bufferLength; i++) {\r\n if (!player.playing) {\r\n barHeight = dataArray[i] + 100;\r\n } else {\r\n barHeight = dataArray[i];\r\n }\r\n\r\n // var r = barHeight + 25 * (i / bufferLength);\r\n // var g = 250 * (i / bufferLength);\r\n // var b = 50;\r\n\r\n // ctx.fillStyle = \"rgb(\" + r + \",\" + g + \",\" + b + \")\";\r\n ctx.fillStyle = color;\r\n ctx.fillRect(x, HEIGHT - barHeight - 80, barWidth, barHeight + 80);\r\n\r\n x += barWidth + 5;\r\n }\r\n };\r\n\r\n renderFrame();\r\n }\r\n\r\n const palyButton = jQuery(wrapper).find('[data-plyr=\"play\"]');\r\n palyButton.one(\"click\", function () {\r\n context.resume();\r\n // audio[0].play();\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default H5AP;\r\n"],"names":["H5AP_Obj","audioPlayer","options","$","jQuery","otherControls","repeat","i18n","h5ap_i18n","controls","seekTime","title","artist","disablePause","poster","muted","autoplay","startTime","source","skin","disableDownload","fusionDownload","color","background","primaryColor","download","this","skinFusion","skinWave","skinCardOne","skinCardTwo","skinSimpleOne","skinSimpleTwo","skinStamp","on","setTimeout","blur","plyr","localStorage","getItem","isFirefox","InstallTrigger","JSON","parse","setItem","stringify","player","Plyr","find","loop","active","speed","selected","h5apPlayer","map","Number","currentTime","parseInt","interval","setInterval","clearInterval","play","wave","cardOne","cardTwo","css","text","width","addClass","multipleAudio","playing","disableOtherPlayer","attr","intervalId","loadingPlaceholder","elements","container","nextElementSibling","classList","contains","style","display","includes","tempSource","Math","random","type","sources","src","quickPlayer","data","stickyPlayer","btnClose","btnMinimize","btnMaximize","initialVolume","stickyDownload","window","pageYOffset","fadeIn","skinSimple","storage","option","remember","volume","time","fadeOut","remove","stop","removeClass","onbeforeunload","object","html","stickyPlayer2","optionss","arguments","length","undefined","infoss","detector","getDetectorData","infos","initializer","wrapper","removeAttr","each","pause","playlist","author","info","_ref","ended","mediaElement","selector","index","item","querySelector","detailsEl","maskEl","playBtn","infoOne","infoTwo","cardContainer","anmOne","add","sec_num","hours","minutes","seconds","innerText","duration","floor","progressEl","addEventListener","e","position","offsetWidth","offsetX","setAttribute","audio","titleText","dot","substr","context","AudioContext","webkitAudioContext","createMediaElementSource","analyser","createAnalyser","canvas","innerWidth","height","innerHeight","ctx","getContext","connect","destination","fftSize","barHeight","bufferLength","frequencyBinCount","dataArray","Uint8Array","WIDTH","HEIGHT","barWidth","x","renderFrame","requestAnimationFrame","getByteFrequencyData","fillStyle","fillRect","i","one","resume","document","ready","getElementById","ioScript","createElement","plyrio_js","getElementsByTagName","appendChild","id","script","plyr_js","h5apAudios","querySelectorAll","Object","keys","dataset","error","song","removeAttribute","quickPlayers","elementorFrontend","hooks","addAction","scope","players"],"sourceRoot":""}