40 lines
699 B
JavaScript
40 lines
699 B
JavaScript
(function (ns, $) {
|
|
'use strict';
|
|
|
|
function element() {
|
|
return $('#poi-audio')[0];
|
|
}
|
|
|
|
function unload() {
|
|
const audio = element();
|
|
audio.pause();
|
|
audio.removeAttribute('src');
|
|
audio.load();
|
|
$(audio).prop('hidden', true);
|
|
}
|
|
|
|
ns.AudioPlayer = {
|
|
load(url) {
|
|
unload();
|
|
if (!url) return;
|
|
|
|
const audio = element();
|
|
audio.src = url;
|
|
$(audio).prop('hidden', false);
|
|
audio.load();
|
|
},
|
|
|
|
play() {
|
|
const audio = element();
|
|
if (audio.getAttribute('src')) return audio.play();
|
|
return Promise.resolve();
|
|
},
|
|
|
|
pause() {
|
|
element().pause();
|
|
},
|
|
|
|
unload
|
|
};
|
|
}(window.Wegwichtel, window.jQuery));
|