@@ -22,6 +22,7 @@ const handlePause = (e) => {
22
22
} ;
23
23
const fullscreen = ( e ) => {
24
24
e . preventDefault ( ) ;
25
+ video . focus ( ) ;
25
26
if ( isVideoInFullscreen ( ) ) {
26
27
minimize_maximize . setAttribute ( "src" , "./assets/maximize.svg" ) ;
27
28
document . webkitExitFullscreen ( ) ;
@@ -33,9 +34,11 @@ const fullscreen = (e) => {
33
34
video . addEventListener ( "click" , handlePause ) ;
34
35
play_pause . addEventListener ( "click" , handlePause ) ;
35
36
video . addEventListener ( "pause" , ( ) => {
37
+ video . focus ( ) ;
36
38
play_pause . setAttribute ( "src" , "./assets/play-circle.svg" ) ;
37
39
} ) ;
38
40
video . addEventListener ( "play" , ( ) => {
41
+ video . focus ( ) ;
39
42
play_pause . setAttribute ( "src" , "./assets/pause-circle.svg" ) ;
40
43
} ) ;
41
44
video . addEventListener ( "dblclick" , fullscreen ) ;
@@ -55,7 +58,7 @@ function seek(event) {
55
58
const percent = event . offsetX / this . offsetWidth ;
56
59
media . currentTime = percent * media . duration ;
57
60
progress . value = percent / 100 ;
58
-
61
+ video . focus ( ) ;
59
62
socket . emit ( "media-seeking" , {
60
63
timeStamp : media . currentTime ,
61
64
id : friendId . value ,
@@ -85,16 +88,42 @@ const muteVolume = (e) => {
85
88
volumeIndicator . setAttribute ( "src" , "./assets/volume-2.svg" ) ;
86
89
}
87
90
} ;
88
- volumeIndicator . addEventListener ( "click" , muteVolume ) ;
89
- volume . addEventListener ( "change" , ( { target } ) => {
91
+
92
+ const handleVolume = ( { target } ) => {
90
93
video . volume = target . value ;
91
94
if ( target . value == 0 ) {
92
95
volumeIndicator . setAttribute ( "src" , "./assets/volume-x.svg" ) ;
93
- } else if ( target . value > 0 && target . value <= 0.2 ) {
96
+ } else if ( target . value > 0 && target . value <= 0.3 ) {
94
97
volumeIndicator . setAttribute ( "src" , "./assets/volume.svg" ) ;
95
- } else if ( target . value > 0.2 && target . value <= 0.5 ) {
98
+ } else if ( target . value > 0.3 && target . value <= 0.5 ) {
96
99
volumeIndicator . setAttribute ( "src" , "./assets/volume-1.svg" ) ;
97
100
} else {
98
101
volumeIndicator . setAttribute ( "src" , "./assets/volume-2.svg" ) ;
99
102
}
100
- } ) ;
103
+ } ;
104
+ volumeIndicator . addEventListener ( "click" , muteVolume ) ;
105
+ volume . addEventListener ( "input" , handleVolume ) ;
106
+ volume . addEventListener ( "change" , handleVolume ) ;
107
+ video . addEventListener ( "keydown" , hadleKeyEvents ) ;
108
+ function hadleKeyEvents ( e ) {
109
+ e . preventDefault ( ) ;
110
+ const { keyCode } = e ;
111
+ switch ( keyCode ) {
112
+ case 39 :
113
+ socket . emit ( "media-seeking" , {
114
+ timeStamp : media . currentTime ,
115
+ id : friendId . value ,
116
+ } ) ;
117
+ break ;
118
+ case 37 :
119
+ socket . emit ( "media-seeking" , {
120
+ timeStamp : media . currentTime ,
121
+ id : friendId . value ,
122
+ } ) ;
123
+ break ;
124
+ case 32 :
125
+ if ( video . paused ) socket . emit ( "media-play" , friendId . value ) ;
126
+ if ( ! video . paused ) socket . emit ( "media-pause" , friendId . value ) ;
127
+ break ;
128
+ }
129
+ }
0 commit comments