Sun. Aug 7th, 2022

materi ini adalah kelanjutan dari materi seblumnya tentang videoview. kalau materi sebelumnya membahas tentang videoview dengan embed video ke dalam source code raw. sekarang membahas bagaimana jika videonya di taruh ke server. dengan cara begini tidak membebani user jika ada banyak video kalau dimasukkan ke dalam source code raw tentu filenya terlalu besar sehingg alternatif lainya dengan mengakses video melalui URL.

tentunya untuk mengakses video melalui url membutuhkan koneksi internet sehingga pada manifest di masukkan code:

<uses-permission android:name="android.permission.INTERNET" />

buatlah layout videoview
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <VideoView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentBottom="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:id="@+id/videovw"/>
        <ProgressBar
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:id="@+id/progrss"
            android:visibility="gone"
            android:layout_centerInParent="true"/>

    </RelativeLayout>
</android.support.constraint.ConstraintLayout>

kemudian pada MainActivity buat code penghubung url videonya

package a.riki.cobahello

import android.net.Uri
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.MediaController
import android.widget.ProgressBar
import android.widget.VideoView



class MainActivity : AppCompatActivity() {


    private var videovw: VideoView? = null
    private var mediacontroller: MediaController? = null
    private var uri: Uri? = null
    private var isContinuously = false
    private var progressBar: ProgressBar? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.video)

        progressBar = findViewById(R.id.progrss) as ProgressBar

        videovw = findViewById(R.id.videovw) as VideoView

        mediacontroller = MediaController(this)
        mediacontroller!!.setAnchorView(videovw)
        val uriPath = "http://www.demonuts.com/Demonuts/smallvideo.mp4" //update package name
        uri = Uri.parse(uriPath)

        isContinuously = false
        progressBar!!.visibility = View.VISIBLE
        videovw!!.setMediaController(mediacontroller)
        videovw!!.setVideoURI(uri)
        videovw!!.requestFocus()
        videovw!!.start()


        videovw!!.setOnPreparedListener { progressBar!!.visibility = View.GONE }

    }
}