1+ function readTime ( timeString ) {
2+ var hours = 0 ;
3+ var minutes = 0 ;
4+ var seconds = 0 ;
5+ var m = timeString . match ( "\\d+:\\d+:\\d+" ) ;
6+ if ( m !== null ) {
7+ var data = timeString . split ( ':' ) ;
8+ hours = parseInt ( data [ 0 ] ) ;
9+ minutes = parseInt ( data [ 1 ] ) ;
10+ seconds = parseInt ( data [ 2 ] ) ;
11+ } else {
12+ var m = timeString . match ( "\\d+:\\d+" ) ;
13+ if ( m !== null ) {
14+ var data = timeString . split ( ':' ) ;
15+ minutes = parseInt ( data [ 0 ] ) ;
16+ seconds = parseInt ( data [ 1 ] ) ;
17+ }
18+ }
19+ return hours * 3600 + minutes * 60 + seconds ;
20+ }
21+
22+ function getHashCode ( s ) {
23+ return s . split ( "" ) . reduce ( function ( a , b ) {
24+ a = ( ( a << 5 ) - a ) + b . charCodeAt ( 0 ) ;
25+ return a & a
26+ } , 0 ) ;
27+ }
28+
29+ function update ( ) {
30+ if ( document . querySelector ( "#wynk-player > div > div > div.right-part.cssload-container > span" ) . className === "sprite play" ) {
31+ playbackStatus = mellowplayer . PlaybackStatus . PAUSED ;
32+ } else if ( document . querySelector ( "#wynk-player > div > div > div.right-part.cssload-container > span" ) . className === "sprite pause" ) {
33+ playbackStatus = mellowplayer . PlaybackStatus . PLAYING ;
34+ } else {
35+ playbackStatus = mellowplayer . PlaybackStatus . BUFFERING ;
36+ }
37+ duration = document . querySelector ( "#wynk-player > div > div > div.bottom-part > div.seek-bar > span.right.ng-binding" ) . innerHTML ;
38+ position = document . querySelector ( "#wynk-player > div > div > div.bottom-part > div.seek-bar > span.left.ng-binding" ) . innerHTML ;
39+ songTitle = document . querySelector ( "#wynk-player > div > div > div.left-part > div > p.head > a" ) . innerHTML ;
40+ albumTitle = document . querySelector ( "#wynk-player > div > div > div.left-part > div > p.sub > a" ) . innerHTML ;
41+ artUrl = document . querySelector ( "#wynk-player > div > div > div.left-part > span > img" ) . src ;
42+ return {
43+ "playbackStatus" : playbackStatus ,
44+ "canSeek" : false ,
45+ "canGoNext" : true ,
46+ "canGoPrevious" : true ,
47+ "canAddToFavorites" : false ,
48+ "volume" : 1 ,
49+ "duration" : readTime ( duration ) ,
50+ "position" : readTime ( position ) ,
51+ "songId" : getHashCode ( songTitle ) ,
52+ "songTitle" : songTitle ,
53+ "artistName" : '' ,
54+ "albumTitle" : albumTitle ,
55+ "artUrl" : artUrl ,
56+ "isFavorite" : false
57+ } ;
58+ }
59+
60+ function play ( ) {
61+ document . querySelector ( "#wynk-player > div > div > div.right-part.cssload-container > span" ) . click ( ) ;
62+ }
63+
64+ function pause ( ) {
65+ play ( ) ;
66+ }
67+
68+ function goNext ( ) {
69+ document . querySelector ( "#wynk-player > div > div > div.bottom-part > div.prev-next > span.next > a" ) . click ( ) ;
70+ }
71+
72+ function goPrevious ( ) {
73+ document . querySelector ( "#wynk-player > div > div > div.bottom-part > div.prev-next > span.prev > a" ) . click ( ) ;
74+ }
75+
76+ function setVolume ( volume ) {
77+ //not implemented
78+ }
79+
80+ function addToFavorites ( ) {
81+ //not implemented
82+ }
83+
84+ function removeFromFavorites ( ) {
85+ //not implemented
86+ }
87+
88+ function seekToPosition ( position ) {
89+ //not implemented
90+ }
0 commit comments