Added a volume slider and added play/pause to clicking on the video
This commit is contained in:
@ -5,6 +5,7 @@
|
||||
settings = undefined # settings objects
|
||||
videoElem = undefined
|
||||
videoControls = undefined
|
||||
volumeDragging = false
|
||||
|
||||
# combine user settings with defaults
|
||||
settings = $.extend({
|
||||
@ -68,6 +69,7 @@
|
||||
videoElem.on('ended', resetVideo)
|
||||
videoElem.on('timeupdate', updateProgress)
|
||||
videoElem.on('loadedmetadata', updateDuration)
|
||||
videoElem.on('click', toggleIsPlaying)
|
||||
|
||||
# loop through the video sources
|
||||
for source in settings.video_sources
|
||||
@ -91,20 +93,37 @@
|
||||
class: settings.class_prefix + 'control' + ' ' +
|
||||
settings.class_prefix + 'progress-fill').appendTo(progressBar)
|
||||
|
||||
videoControlsLeft = $('<div/>',
|
||||
class: settings.class_prefix + 'controls-left').appendTo(videoControls)
|
||||
videoControlsRight = $('<div/>',
|
||||
class: settings.class_prefix + 'controls-right').appendTo(videoControls)
|
||||
|
||||
playButton = $('<button/>',
|
||||
class: settings.class_prefix + 'control' + ' ' +
|
||||
settings.class_prefix + 'play-button'
|
||||
text: '>').appendTo(videoControls)
|
||||
text: '>').appendTo(videoControlsLeft)
|
||||
playButton.on('click', (e) ->
|
||||
e.preventDefault()
|
||||
toggleIsPlaying(this))
|
||||
toggleIsPlaying())
|
||||
|
||||
progressTime = $('<div/>',
|
||||
class: settings.class_prefix + 'control' + ' ' +
|
||||
settings.class_prefix + 'progressTime').appendTo(videoControls)
|
||||
settings.class_prefix + 'progressTime').appendTo(videoControlsLeft)
|
||||
progressTime.html('<span class="currentTime">' + msToTime(videoElem.get(0).currentTime) + '</span> / ' +
|
||||
'<span class="totalTime">' + msToTime(videoElem.get(0).duration) + '</span>')
|
||||
|
||||
volumeSlider = $('<input/>',
|
||||
class: settings.class_prefix + 'control' + ' ' +
|
||||
settings.class_prefix + 'volume-slider'
|
||||
type: 'range'
|
||||
min: 0
|
||||
max: 100
|
||||
step: 1
|
||||
).appendTo(videoControlsRight)
|
||||
volumeSlider.on('input', ->
|
||||
setVolume(this.value)
|
||||
)
|
||||
|
||||
# add the elements to the player
|
||||
$(wrapperElem).append(videoElem)
|
||||
$(wrapperElem).append(videoControls)
|
||||
@ -115,7 +134,7 @@
|
||||
# playVideo - start playing video
|
||||
playVideo = ->
|
||||
videoElem.get(0).play()
|
||||
videoControls.children('.' + settings.class_prefix + 'play-button').text('||')
|
||||
videoControls.find('.' + settings.class_prefix + 'play-button').text('||')
|
||||
isPlaying = true
|
||||
|
||||
# end playVideo function
|
||||
@ -124,7 +143,7 @@
|
||||
# pauseVideo - pause video
|
||||
pauseVideo = ->
|
||||
videoElem.get(0).pause()
|
||||
videoControls.children('.' + settings.class_prefix + 'play-button').text('>')
|
||||
videoControls.find('.' + settings.class_prefix + 'play-button').text('>')
|
||||
isPlaying = false
|
||||
|
||||
# end pauseVideo function
|
||||
@ -145,6 +164,10 @@
|
||||
# end toggleIsPlaying function
|
||||
return
|
||||
|
||||
# setVolume - set the video player's volume
|
||||
setVolume = (vol) ->
|
||||
videoElem.get(0).volume = (vol / 100)
|
||||
|
||||
# updateProgress - perform actions when the video's progress updates
|
||||
updateProgress = (setProgress = false) ->
|
||||
# get the progress bar element
|
||||
|
Reference in New Issue
Block a user