# Playback Technology ("Tech") Playback Technology refers to the specific browser or plugin technology used to play the video or audio. When using HTML5, the playback technology is the video or audio element. When using Flash from [videojs-flash][flash], the playback technology is the video-js.swf Flash object. When using the [videojs-youtube][youtube] tech, the playback technology is the You Tube player. The tech also includes an API wrapper to translate between the Video.js controls and API to the specific playback technology used. Essentially we're using html5 and plugins only as video decoders, and using HTML and JavaScript to create a consistent API and skinning experience across all of them. In addition to techs there are source handlers. Source handlers add the capability to play additional source types to techs. For example, the [videojs-contrib-hls][hls] source handler enables the HTML5 and Flash techs to play HLS. ## Building an API Wrapper We'll write a more complete guide on writing a wrapper soon, but for now the best resource is the [Video.js](https://github.com/videojs/video.js/tree/master/src/js/tech) source where you can see how the HTML5 API wrapper is created. ## Required Methods canPlayType play pause currentTime volume duration buffered supportsFullScreen ## Required Events loadstart play pause playing ended volumechange durationchange error ## Optional Events (include if supported) timeupdate progress enterFullScreen exitFullScreen ## Adding Playback Technology When additional techs are added they are automatically added to the `techOrder`. You can modify the `techOrder` to change the priority of each tech. ### Tag Method: ```html