Fix initial value of volume slider in video player and handle volume changes (#9929)
* Fix initial value of volume slider in video player and handle volume changes * Clean up dead/incorrect code
This commit is contained in:
		
					parent
					
						
							
								ec5bd8b8bb
							
						
					
				
			
			
				commit
				
					
						a53dcaa298
					
				
			
		
					 1 changed files with 9 additions and 1 deletions
				
			
		|  | @ -136,6 +136,9 @@ class Video extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|   setVideoRef = c => { |   setVideoRef = c => { | ||||||
|     this.video = c; |     this.video = c; | ||||||
|  |     if (this.video) { | ||||||
|  |       this.setState({ volume: this.video.volume, muted: this.video.muted }); | ||||||
|  |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   setSeekRef = c => { |   setSeekRef = c => { | ||||||
|  | @ -302,6 +305,10 @@ class Video extends React.PureComponent { | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   handleVolumeChange = () => { | ||||||
|  |     this.setState({ volume: this.video.volume, muted: this.video.muted }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   handleOpenVideo = () => { |   handleOpenVideo = () => { | ||||||
|     const { src, preview, width, height, alt } = this.props; |     const { src, preview, width, height, alt } = this.props; | ||||||
|     const media = fromJS({ |     const media = fromJS({ | ||||||
|  | @ -387,6 +394,7 @@ class Video extends React.PureComponent { | ||||||
|           onTimeUpdate={this.handleTimeUpdate} |           onTimeUpdate={this.handleTimeUpdate} | ||||||
|           onLoadedData={this.handleLoadedData} |           onLoadedData={this.handleLoadedData} | ||||||
|           onProgress={this.handleProgress} |           onProgress={this.handleProgress} | ||||||
|  |           onVolumeChange={this.handleVolumeChange} | ||||||
|         /> |         /> | ||||||
| 
 | 
 | ||||||
|         <button type='button' className={classNames('video-player__spoiler', { active: !revealed })} onClick={this.toggleReveal}> |         <button type='button' className={classNames('video-player__spoiler', { active: !revealed })} onClick={this.toggleReveal}> | ||||||
|  | @ -409,7 +417,7 @@ class Video extends React.PureComponent { | ||||||
|           <div className='video-player__buttons-bar'> |           <div className='video-player__buttons-bar'> | ||||||
|             <div className='video-player__buttons left'> |             <div className='video-player__buttons left'> | ||||||
|               <button type='button' aria-label={intl.formatMessage(paused ? messages.play : messages.pause)} onClick={this.togglePlay}><i className={classNames('fa fa-fw', { 'fa-play': paused, 'fa-pause': !paused })} /></button> |               <button type='button' aria-label={intl.formatMessage(paused ? messages.play : messages.pause)} onClick={this.togglePlay}><i className={classNames('fa fa-fw', { 'fa-play': paused, 'fa-pause': !paused })} /></button> | ||||||
|               <button type='button' aria-label={intl.formatMessage(muted ? messages.unmute : messages.mute)} onMouseEnter={this.volumeSlider} onMouseLeave={this.volumeSlider} onClick={this.toggleMute}><i className={classNames('fa fa-fw', { 'fa-volume-off': muted, 'fa-volume-up': !muted })} /></button> |               <button type='button' aria-label={intl.formatMessage(muted ? messages.unmute : messages.mute)} onClick={this.toggleMute}><i className={classNames('fa fa-fw', { 'fa-volume-off': muted, 'fa-volume-up': !muted })} /></button> | ||||||
|               <div className='video-player__volume' onMouseDown={this.handleVolumeMouseDown} ref={this.setVolumeRef}> |               <div className='video-player__volume' onMouseDown={this.handleVolumeMouseDown} ref={this.setVolumeRef}> | ||||||
|                 <div className='video-player__volume__current' style={{ width: `${volumeWidth}px` }} /> |                 <div className='video-player__volume__current' style={{ width: `${volumeWidth}px` }} /> | ||||||
|                 <span |                 <span | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue