-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgoogle-play-music.js
50 lines (44 loc) · 1.97 KB
/
google-play-music.js
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
function GPMgetPlayerStatus() {
var status = {
disabled: false,
playing: false,
artLocation: null,
songTitle: '',
songArtist: '',
songAlbum: '',
progressNow: 0,
progressMin: 0,
progressMax: 0,
canNext: false,
canPrev: false,
volume: 100,
};
var playPauseButton = document.querySelector('paper-icon-button[data-id=play-pause]');
var nextButton = document.querySelector('paper-icon-button[data-id=forward]');
var prevButton = document.querySelector('paper-icon-button[data-id=rewind]');
var volumeBar = document.querySelector('#material-vslider');
var progressBar = document.querySelector('#material-player-progress');
var artElement = document.getElementById('playerBarArt');
var albumElement = document.querySelector("#playerSongInfo .player-album");
try {
var titleElement = document.getElementById('currently-playing-title').firstChild;
} catch (e) { var titleElement = null; }
try {
var artistElement = document.getElementById('player-artist').firstChild;
} catch (e) { var artistElement = null; }
status.disabled = playPauseButton.disabled === true;
status.playing = playPauseButton.classList.contains('playing');
status.canNext = nextButton.disabled === false;
status.canPrev = prevButton.disabled === false;
status.volume = volumeBar.value;
try {
status.songTitle = titleElement.innerText || titleElement.textContent;
status.songArtist = artistElement.innerText || artistElement.textContent;
status.songAlbum = albumElement.innerText || albumElement.textContent;
status.artLocation = artElement.src.replace("=s90-", "=s500-");
} catch (e) { }
status.progressNow = progressBar.getAttribute('aria-valuenow');
status.progressMin = progressBar.getAttribute('aria-valuemin');
status.progressMax = progressBar.getAttribute('aria-valuemax');
return JSON.stringify(status);
}