-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathapp.js
More file actions
126 lines (113 loc) · 3.43 KB
/
app.js
File metadata and controls
126 lines (113 loc) · 3.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
const trackCover= document.querySelector("#track_cover");
const trackArtist= document.querySelector("#track_artist");
const trackTitle= document.querySelector("#track_title");
const currentMins= document.querySelector("#current_time_mins");
const currentSecs= document.querySelector("#current_time_secs");
const trackmins= document.querySelector("#track_mins");
const tracksecs= document.querySelector("#track_secs");
const prevBtn=document.querySelector("#prev");
const playPause=document.querySelector("#play_pause");
const nextBtn= document.querySelector("#next");
const trackRange=document.querySelector("#range");
const vol=document.querySelector("#vol");
const currentTrack= document.createElement("audio");
const container= document.querySelector("#container");
let isPlaying= false;
let trackIndex= 0;
const songs=[
{
artistName: "Ayra-Starr",
songName:"Rush",
img:"images/Ayra-Starr-Rush.webp",
music:"musics/Rush.mp3"
},
{
artistName: "Fireboy DML",
songName:"Sofri",
img:"images/Fireboy-DML-EP.webp",
music:"musics/Sofri.mp3"
},
{
artistName: "Ruger",
songName:"Girlfriend",
img:"images/Ruger-EP.webp",
music:"musics/Girlfriend.mp3"
},
{
artistName: "Zinoleesky",
songName:"Loving-You",
img:"images/Zinoleesky-Loving-You-Artwork.jpg",
music:"musics/Loving-You.mp3"
},
{
artistName: "Zinoleesky",
songName:"Rocking",
img:"images/Zinoleesky-Rocking-Artwork.jpg",
music:"musics/Rocking.mp3"
},
];
loadTrack(trackIndex);
setInterval(fulltime, 1000);
function loadTrack(trackIndex){
currentTrack.src= songs[trackIndex].music;
currentTrack.load();
trackCover.src= songs[trackIndex].img;
trackArtist.textContent= songs[trackIndex].artistName;
trackTitle.textContent= songs[trackIndex].songName;
container.style.backgroundImage= "url("+songs[trackIndex].img+")";
volume();
};
function next(){
if(trackIndex>=songs.length-1){
trackIndex=0;
}else{
trackIndex++
}
loadTrack(trackIndex);
play();
};
function prev(){
if(trackIndex<=0){
trackIndex=songs.length-1;
}else{
trackIndex--
}
loadTrack(trackIndex);
play();
};
function play_pause(){
isPlaying? pause() : play();
};
function play(){
isPlaying= true;
currentTrack.play();
playPause.classList.remove("bi-play-circle");
playPause.classList.add("bi-pause-circle");
};
function pause(){
isPlaying= false;
currentTrack.pause();
playPause.classList.remove("bi-pause-circle");
playPause.classList.add("bi-play-circle");
};
function fulltime(){
const mins=String(Math.floor((currentTrack.duration)/60)).padStart(2,"0");
const secs=String(Math.floor(currentTrack.duration-(mins*60))).padStart(2,"0");
const currMins=String(Math.floor((currentTrack.currentTime)/60)).padStart(2,"0");
const currSecs=String(Math.abs(Math.floor((currMins*60)-currentTrack.currentTime))).padStart(2,"0");
trackmins.textContent=mins;
tracksecs.textContent=secs;
currentMins.textContent= currMins;
currentSecs.textContent=currSecs;
trackRange.value=currentTrack.currentTime;
trackRange.max= currentTrack.duration;
if(currentTrack.ended){
next();
};
};
function volume(){
currentTrack.volume=vol.value/11;
};
function seek(){
currentTrack.currentTime=trackRange.value;
};