AudioPlayerLib

Library for ADDING and PLAYING AUDIO anywhere you need (Global Player)

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/490601/1347581/AudioPlayerLib.js

  1. // Library for ADDING and PLAYING AUDIO anywhere you need
  2. /*global player*/
  3.  
  4. "use strict";
  5.  
  6. window.player = {};
  7.  
  8. player.play = function (
  9. source,
  10. { volume = 0.5, controls = false, removePlayerAfterPlayed = true },
  11. insertNode = document.body,
  12. referenceNode = null,
  13. ) {
  14. return new Promise((resolve) => {
  15. const player = document.createElement("audio");
  16. player.addEventListener("ended", () => {
  17. if (removePlayerAfterPlayed) {
  18. this.remove(player.id);
  19. }
  20. resolve(player);
  21. });
  22. player.id = Math.random().toString(32).substring(2);
  23. player.src = source;
  24. player.autoplay = true;
  25. player.controls = controls;
  26. player.volume = volume;
  27. insertNode.insertBefore(player, referenceNode);
  28. });
  29. };
  30.  
  31. player.remove = function (id) {
  32. document.getElementById(id).remove();
  33. };