Advertisement
Guest User

Untitled

a guest
May 25th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.68 KB | None | 0 0
  1. // ==UserScript==
  2. // @name audio pl
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description try to take over the world!
  6. // @author You
  7. // @match http://audio.pl/
  8. // @run-at document-start
  9. // @grant unsafeWindow
  10. // ==/UserScript==
  11.  
  12. var listaGlowna = {};
  13. listaGlowna.name = "Lista Główna";
  14. listaGlowna.item1 = [ "Radio ZET", "https://n-15-3.dcs.redcdn.pl/sc/o2/Eurozet/live/audio.livx?audio=5" ];
  15. listaGlowna.item2 = [ "AntyRadio", "https://n-15-3.dcs.redcdn.pl/sc/o2/Eurozet/live/antyradio.livx?audio=5" ];
  16. listaGlowna.item3 = [ "RMF MAXXX", "http://31.192.216.6/RMFMAXXX48" ];
  17. listaGlowna.item4 = [ "Złote Przeboje", "http://stream.radioagora.pl/tuba8936-1.mp3" ];
  18. listaGlowna.item5 = [ "Radio WAWA", "http://pldm.ml/radio?url=https://www.eskago.pl/radio/wawa" ];
  19. listaGlowna.item6 = [ "VOX FM", "http://pldm.ml/radio?url=https://www.eskago.pl/radio/vox-fm" ];
  20. listaGlowna.item7 = [ "ESKA Szczecin", "http://pldm.ml/radio?url=https://www.eskago.pl/radio/eska-szczecin" ];
  21.  
  22. var eskaGO = {};
  23. eskaGO.name = "Eska GO";
  24. eskaGO.item1 = [ "Hity na wiosne", "http://pldm.ml/radio?url=https://www.eskago.pl/radio/special-hity-na-wiosne" ];
  25.  
  26. var openFM = {};
  27. openFM.name = "Open FM";
  28. openFM.item1 = [ "Reggae", "http://stream.open.fm/22" ];
  29.  
  30. var main = {};
  31. main.item1 = listaGlowna;
  32. main.item2 = eskaGO;
  33. main.item3 = openFM;
  34.  
  35. var playlistString = "";
  36. for (var mainKey in main) {
  37. var mainValue = main[mainKey];
  38. playlistString += "<br><h5>" + mainValue.name + ":</h5>";
  39. for (var playlistKey in mainValue) {
  40. if (playlistKey.includes("item")) {
  41. var playlistValue = mainValue[playlistKey];
  42. playlistString += '<li><a href="' + playlistValue[1] + '">' + playlistValue[0] + '</a></li>';
  43. }
  44. }
  45. }
  46.  
  47. document.open();
  48. document.write(`
  49. <!DOCTYPE html>
  50. <html>
  51. <head>
  52. <meta charset="UTF-8">
  53. <title>Radio</title>
  54. <style>
  55. div {
  56. margin: 0;
  57. position: absolute;
  58. top: 50%;
  59. left: 50%;
  60. margin-right: -50%;
  61. transform: translate(-50%, -50%);
  62. }
  63. h5 {
  64. color:green;
  65. text-decoration: underline overline;
  66. padding: 0px;
  67. margin: 0px;
  68. }
  69. #playlist {
  70. list-style: none;
  71. }
  72. #playlist li a {
  73. color:black;
  74. text-decoration: none;
  75. }
  76. #playlist .current-song a {
  77. color:blue;
  78. }
  79. </style>
  80. </head>
  81. <body>
  82. <div>
  83. <audio src="" controls id="audioPlayer"></audio>
  84. <ul id="playlist">` + playlistString + `</ul>
  85. </div>
  86. <script src="https://code.jquery.com/jquery-2.2.0.js"></script>
  87. <script>
  88. (function audioPlayer(){
  89.  
  90. // get audio
  91. var audioList = $("#playlist li a");
  92. var audioCount = audioList.length;
  93. var audioCurrent = 0;
  94.  
  95. // play first audio
  96. $("#audioPlayer")[0].src = $("#playlist li a")[audioCurrent];
  97. $("#audioPlayer")[0].play();
  98.  
  99. // on audio click
  100. $("#playlist li a").click(function(e){
  101. e.preventDefault();
  102. $("#audioPlayer")[0].src = this;
  103. $("#audioPlayer")[0].play();
  104. audioCurrent = $(this).parent().index();
  105. $("#playlist li").removeClass("current-song");
  106. $(this).parent().addClass("current-song");
  107. });
  108.  
  109. // on audio end
  110. $("#audioPlayer")[0].addEventListener("ended", function(){
  111. audioCurrent++;if(audioCurrent == audioCount) audioCurrent = 0;
  112. $("#playlist li").removeClass("current-song");
  113. $("#playlist li:eq("+audioCurrent+")").addClass("current-song");
  114. $("#audioPlayer")[0].src = $("#playlist li a")[audioCurrent].href;
  115. $("#audioPlayer")[0].play();
  116. });
  117. })();
  118. </script>
  119. </body>
  120. </html>`);
  121. document.close();
  122.  
  123. /*
  124. setInterval(function() {
  125.  
  126. //document.getElementById("body").innerHTML="<p>LOL</p>";
  127. }, 100);
  128.  
  129. function Exist(element){
  130. return typeof(element) != 'undefined' && element != null;
  131. }
  132.  
  133. function Empty(array){
  134. return typeof(array) == 'undefined' || array.length == 0;
  135. }
  136.  
  137. function IsPlaying(audioElement){
  138. return !audioElement.paused && audioElement.currentTime > 0;
  139. }
  140.  
  141. function IsPlayingRadio(audioElement){
  142. return !audioElement.paused;
  143. }
  144.  
  145. function LoadAudio(){
  146. var action = function(){
  147. var audioElements = document.getElementsByTagName("audio");
  148. if (!Empty(audioElements)){
  149. var audioElement = audioElements[0];
  150. */
  151. /*if (!IsPlaying(audioElement)) {
  152. try {
  153. console.log("start playing audio");
  154. audioElement.play();
  155. }
  156. catch(error) {
  157. console.error(error);
  158. }
  159. }
  160. else {
  161. audioElement.pause();
  162. audioElement.currentTime = 0;
  163. }
  164. */
  165. /*
  166. if (IsPlaying(audioElement)) {
  167. try {
  168. console.log("pause audio");
  169. audioElement.pause();
  170. audioElement.currentTime = 0;
  171. }
  172. catch(error) {
  173. console.error(error);
  174. }
  175. }
  176. var audioElement1 = audioElements[1];
  177. if (!IsPlayingRadio(audioElement1)) {
  178. try {
  179. console.log("start playing audio");
  180. audioElement1.play();
  181. }
  182. catch(error) {
  183. console.error(error);
  184. }
  185. }
  186. }
  187. };
  188. setInterval(action, 150);
  189. }
  190.  
  191. function CreateAudioElement(){
  192. var intervalID;
  193. var action = function(){
  194. var audioElement = document.createElement('audio');
  195. audioElement.setAttribute('autoplay', 'autoplay');
  196. audioElement.loop=true;
  197. audioElement.addEventListener('ended', function() {
  198. this.currentTime = 0;
  199. this.play();
  200. }, false);
  201.  
  202. var sourceElement = document.createElement('source');
  203. //sourceElement.setAttribute('src', 'music.mp3');
  204. //sourceElement.setAttribute('type', 'audio/mpeg');
  205. sourceElement.setAttribute('src', 'http://n-15-3.dcs.redcdn.pl/sc/o2/Eurozet/live/audio.livx?audio=5');
  206. sourceElement.setAttribute('type', 'audio/mpeg');
  207.  
  208. audioElement.appendChild(sourceElement);
  209. document.body.appendChild(audioElement);
  210.  
  211. clearInterval(intervalID);
  212. };
  213. intervalID = setInterval(action, 50);
  214. }
  215.  
  216. (function() {
  217. 'use strict';
  218.  
  219. document.addEventListener("DOMContentLoaded", function(event) {
  220. var audioElements = document.getElementsByTagName("audio");
  221. //if (Empty(audioElements)){
  222. CreateAudioElement();
  223. //}
  224. LoadAudio();
  225. });
  226.  
  227. })();
  228. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement