14 thoughts on “Building a Media Player #6: Building a Custom Video Player and Controls”

  • hah, if i sung whenever i was looking around my code id be looking around confused singing all the time, people would think im nuts…

  • Will you be using keyboard controls?

    Here's a list of what I've come up with:
    ~ j/k/l = -30s/pause/+30s
    ~ esc/q = exit fullscreen
    ~ f = toggle fullscreen
    ~ >/< | +/- = faster/slower
    ~ ./, | [/] = frame forward/back
    ~ a/z = vote up/down
    ~ ?/h = help
    ~ !/~ = quick search
    ~ '/" = comment at this time
    ~ n/p = next/prev
    ~ [0-9] = go to * 10% in this video
    ~ up/down = volup/voldown
    ~ left/right = -5s/+5s
    ~ # = copy current time URL to clipboard
    ~ % = enter a time to skip to (in hour:min:sec, min:sec or just sec; hopefully not too difficult)

    Ask Rob Dodson for some help, he can probably do that 🙂

    Sorry if there's too much, I came up with this in ~5 min haha.

  • Tanzir Rahman says:

    What do you have to say for Windows telling me that Chrome is killing all my battery? I've hated Facebook & Instagram battery consumption on my phone for a while now.

  • Stanislaus Madueke says:

    Hey Paul, great video, as always 🙂 I was wondering, aside from the obvious, is there any issue with doing `el.addEventListener("click", (e) => this.handleClick(e))`, rather than your trick with `bind(this)` before the call to `addEventListener`? I tend to use the first style, since I find it a bit easier on me eyes. What do you think?

  • How can I store the frames of a video file in case I want to do image processing? Not the file, but like a buffer that I can later pass into OpenCV. Is there a way to do this in realtime

Leave a Reply

Your email address will not be published. Required fields are marked *