]>
iEval git - app-musicexpo.git/blob - player.js
3 "FLAC" : "audio/x-flac" ,
9 var audio
, details
, start
, data
;
11 function load_song ( id
) {
12 audio
. style
. display
= "inline" ;
14 var old_sources
= document
. getElementsByTagName ( "source" );
15 while ( old_sources
. length
)
16 old_sources
[ 0 ]. parentNode
. removeChild ( old_sources
[ 0 ]);
18 for ( var i
= 0 ; i
< song
. formats
. length
; i
++){
19 var source
= document
. createElement ( "source" );
20 var type
= TYPES
[ song
. formats
[ i
]. format
];
21 source
. setAttribute ( "type" , type
);
22 source
. setAttribute ( "src" , song
. formats
[ i
]. file
);
23 audio
. appendChild ( source
);
26 details
. innerHTML
= "Now playing: " + song
. artist
+ " - " + song
. title
;
30 function play_random () {
31 start
. innerHTML
= "Next" ;
32 var id
= Math
. floor ( Math
. random () * data
. length
);
37 function make_onclick_handler ( id
){
40 start
. innerHTML
= "Next" ;
45 window
. onload = function () {
46 var container
= document
. getElementById ( "player" );
47 container
. innerHTML
= '<div id="details"></div> <button id="start_player">Play a random song</button> (or click a song title)<br><audio id="audio" controls></audio>' ;
48 audio
= document
. getElementById ( "audio" );
49 details
= document
. getElementById ( "details" );
50 start
= document
. getElementById ( "start_player" );
53 var trs
= document
. querySelectorAll ( "tbody tr" );
54 for ( var i
= 0 ; i
< trs
. length
; i
++) {
57 "artist" : tr
. getElementsByClassName ( "artist" )[ 0 ]. textContent
,
58 "title" : tr
. getElementsByClassName ( "title" )[ 0 ]. textContent
,
61 var formats
= tr
. getElementsByClassName ( "formats" )[ 0 ]. getElementsByTagName ( "a" );
62 for ( var j
= 0 ; j
< formats
. length
; j
++) {
63 var format
= formats
[ j
];
65 "format" : format
. textContent
,
66 "file" : format
. getAttribute ( "href" )
70 tr
. getElementsByClassName ( "title" )[ 0 ]. onclick
= make_onclick_handler ( i
);
73 audio
. style
. display
= "none" ;
74 audio
. addEventListener ( 'ended' , play_random
);
75 audio
. addEventListener ( 'error' , play_random
);
76 start
. addEventListener ( 'click' , play_random
);
This page took 0.050843 seconds and 5 git commands to generate.