Advertisement
Guest User

Untitled

a guest
Jul 16th, 2021
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 2.57 KB | None | 0 0
  1. <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.0.min.js"></script>
  2.  
  3. <script>
  4. jQuery(document).ready(function( $ ) {
  5.     $("audio").on("play", function (me) {
  6.         $("audio").each(function (i,e) {
  7.             if (e !== me.currentTarget) {
  8.                 this.pause();
  9.                 this.currentTime = 0;
  10.             }
  11.         });
  12.     });
  13. })
  14.  
  15. function play(e) {
  16.     var de = document.getElementById(e);
  17.  
  18.     var div = document.getElementsByClassName('playlist_container')[0];
  19.  
  20.     // alle Buttons löschen
  21.     var number = div.getElementsByTagName('input').length;
  22.     for (var i = 0, n = number; i < n; i++){
  23.         div.getElementsByTagName('input')[i].style.background="none";
  24.     }
  25.  
  26.     if (de.paused) {
  27.         // Cachen eines streams vermeiden: (nur, wenn die JavaScript Funktionalität verwendet wird, und nicht, wenn die nativen audio-controls benutzt werden)
  28.         url = de.src.split("?")[0];
  29.         var de1 = url  + "?" + new Date().getTime();
  30.         document.getElementById(e).src = de1;
  31.  
  32.         // aktiven Sender mit einem Button kennzeichnen:
  33.         div.getElementsByTagName('input')[e-1].style.background="url('aktiv.png') no-repeat 2px 2px / 12px";
  34.  
  35.         de.play();
  36.         de.style.display="block";
  37.         de.onended = function (){
  38.             if (document.getElementById(e+1)) {
  39.                 play(e+1);
  40.             } else {
  41.                 play(1);
  42.             }
  43.         }
  44.     } else {
  45.         de.pause();
  46.     }
  47. }
  48. </script>
  49.  
  50. <style>
  51.  
  52. .song {clear:left; margin:1 0;}
  53. .song input {margin: 0 1em .5em 0;float:left;padding:0;}
  54. .song p {margin:0 0 1.5em 0;}
  55. .song:after {
  56.     content : ".";
  57.     display : block;
  58.     height : 0;
  59.     clear : left;
  60.     visibility : hidden;
  61. }
  62.  
  63. audio{ margin:0;min-width:0}
  64.  
  65. @media only screen and (min-device-width:768px) {
  66.     audio{max-width:75%;}
  67. }
  68.  
  69. @media only screen
  70.   and (min-device-width: 320px)
  71.   and (max-device-width: 480px)
  72.   and (-webkit-min-device-pixel-ratio: 2)
  73.   and (orientation: portrait) {
  74.     audio{max-width:10em;}
  75. }
  76.  
  77. </style>
  78.  
  79. <div class="playlist_container">
  80.     <div class = "song" onclick="play(1)">
  81.         <input type="image" src="FFH.jpg" width="100" height="100" alt="Stream: FFH">
  82.         <h3>FFH</h3>
  83.         <audio style="display:none" id ="1" src="https://mp3.ffh.de/radioffh/hqlivestream.mp3?nocache=7993c31387446a194a31d3ed34b97fc0"  preload="none" >
  84.         </audio>
  85.         <p> Das Ganze funktioniert natürlich auch mit einem Stream.
  86.     </div>
  87.  
  88.     <div class = "song" onclick="play(2)">
  89.         <input type="image" src="RPR1.jpg" width="100" height="100" alt="Stream: RPR 1">
  90.         <h3>RPR 1</h3>
  91.         <audio style="display:none" id ="2" src="https://streams.rpr1.de/rpr-simulcast-128-mp3?usid=0-0-H-M-V-06"  preload="none" >
  92.         </audio>
  93.         <p> ... und mit beliebig vielen Streams.
  94.     </div>
  95. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement