The Kohii Library

Kohii tutorials

One of the normal use case in Video player Application is to have a controller so that user can seek, pause or resume the Video on demand. This tutorial guides you how to do that using Kohii.

Source code

Objective

The application we build will:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a520b9be-b4a2-414a-9d5b-f7c110a0320f/kohii_tut_102_1.webm

Requirement

You should complete the previous tutorial first.

Hands-on

This tutorial will start from where we finish in:

Simple Video player using Kohii

Also, we only need to have one step below:

Step 1: Adding manual controller using Kohii

To do so, we need to use the controller parameter in the setUp lambda:

     kohii.setUp(videoUrl) {
       tag = videoUrl
+      controller = object : Controller {
+        override fun kohiiCanStart(): Boolean = true
+        override fun kohiiCanPause(): Boolean = true
+
+        override fun setupRenderer(
+          playback: Playback,
+          renderer: Any?
+        ) {
+          if (renderer is PlayerView) {
+            renderer.useController = true
+            renderer.setControlDispatcher(kohii.createControlDispatcher(playback))
+          }
+        }
+
+        override fun teardownRenderer(
+          playback: Playback,
+          renderer: Any?
+        ) {
+          if (renderer is PlayerView) {
+            renderer.useController = false
+            renderer.setControlDispatcher(null)
+          }
+        }
+      }
     }
       .bind(playerView)
   }

Explanations: