Hi Su,
Yes, you can build your own UI if you wish. If you do this, you should turn off browser built-in controls, either by removing the "controls" attribute from the HTML5 video element or by setting video.controls = false. Then you can create your own overlay in HTML/CSS and wire the buttons into various media APIs.
Shaka Player does not provide APIs which replace those on the HTML5 video element, so you can call those directly. For other features Shaka provides, you can call the library API.
For example, to seek, you set video.currentTime using the HTML5 media API. Similarly, to play and pause, you call
video.play() or video.pause().
Some things can only be done through the player, because there are no equivalent HTML5 APIs for them. To determine if the content is live (which may influence your overlay UI), you call player.isLive(). To load content, use player.load(). To engage trick play mode (AKA fast-forward and rewind), use player.trickPlay(). To change languages, call player.selectAudioLanguage() or player.selectTextLanguage(). And so on. The Player API is here:
You may also want to look at the Cast and Offline APIs:
You can also read the implementation of the custom controls in our demo app for more examples:
Does this help explain?
Thanks,
Joey