Dalam tutorial ini kita akan membahas bagaimana cara menambahkan atau menggunakan pemutar video Youtube ke dalam aplikasi Android. Disini kita akan menggunakan 2 cara; cara pertama adalah dengan menggunakan API Youtube resmi (agak sedikit ribet bagi yang merasa), dan cara kedua dengan menggunakan library pemutar video Youtube dari seseorang yang juga bekerja untuk Google (versi simpel).
1. API Youtube resmi
Untuk dapat menggunakan API Youtube resmi, kita harus memiliki yang namanya API Key yang bisa didapatkan dari Google Cloud Platform. Untuk bisa membuat API Key, terlebih dahulu kita perlu membuat sebuah project atau project yang sudah di Google Cloud Platform. Jika sebelumnya Anda pernah menggunakan Firebase Analytics pada aplikasi Anda, Anda bisa menggunkan project tersebut untuk mendapatkan API Key.Nah sekarang silahkan kunjungi link Google Cloud Platform tersebut. Pada gambar-gambar dibawah ini mendemokan tahap-tahap dalam membuat project baru untuk mendapatkan API Key. Setelah Anda membukanya, silahkan masuk ke akun google Anda terlebih dahulu jika belum masuk, kemudian klik CREATE PROJECT seperti terlihat pada gambar dibawah ini.
Gambar 1 : Tahap pertama dalam membuat project Google Cloud baru. |
Kemudian tentukan nama untuk projectnya, untuk location bisa biarkan saja lalu klik tombol CREATE.
Setelah itu, kita akan dibawa ke dashboard project baru Google Cloud. Pada menu vertical yang tersedia, klik Credentials (dengan ikon kunci disebelah kiri), lalu akan muncul halaman credentials. Kemudian klik CREATE CREDENTIALS (dengan ikon plus disebelah kiri) lalu akan muncul menu dialog, pada menu dialog pilih API Key (paling atas). Lengkapnya seperti gambar berikut.
Setelah tahap pada gambar 3 diatas, segera akan muncul dialog baru lagi yang berisikan API Key Anda. Silahkan di copy API Key nya.
Selanjutnya adalah mengunduh Youtube Android Player API nya. File ini dikemas dalam bentuk arsip zip. Setelah kalian mengunduhnya, silahkan diekstrak file YoutubeAndroidPlayerApi.jar nya (terletak di dalam folder libs pada file zip tersebut).
Sekarang kita masuk ke Project aplikasi Android. Project tutorial ini nama paketnya adalah com.gwnbs.youtubeplayer. Disini saya akan mendemokan beberapa cara dalam implementasinya, mulai dari yang tersimpel hingga beberapa variasi.
Pertama buat project Aplikasi kalian terlihat sebagai Project, kemudian luaskan folder utama, luaskan lagi folder app dan akan muncul folder libs. Copy YouTubeAndroidPlayerApi.jar yang didownload tadi lalu pastekan ke dalam folder libs. Akan terlihat seperti gambar berikut.
Silahkan kembalikan view project Anda ke view Android. Berikutnya adalah mengimplementasi file YouTubeAndroidPlayerApi tersebut ke dalam file build.gradle(:app) dengan menambahkannya ke dependencies.
build.gradle(Module: app) :
Kemudian beralih ke AndroidManifest.xml untuk menambahkan izin penggunaan internet. Disini juga kita perlu menambahkan configChanges ke activity kita, tujuannya adalah supaya saat layar ponsel terotasi, activity aplikasi kita tidak termusnahkan (yang artinya activity akan di create ulang saat layar ponsel berganti-ganti orientasi).
plugins {
id 'com.android.application'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "com.gwnbs.youtubeplayer"
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
//Implementasi YoutubePlayerApi
implementation files('libs/YouTubeAndroidPlayerApi.jar')
}
Jika kita tidak ingin activity kita musnah saat orientasi ponsel berubah-ubah, kita dapat menambahkan configChanges pada setiap activity yang kita inginkan tidak musnah saat berganti orientasi.
AndroidManifest.xml :
Kita mulai dengan cara yang paling sederhana yaitu saat activity dibuka, Youtube Player langsung memutar sebuah video. Pertama tambahkan kompenen YoutubePlayerView kedalam layout activity, dalam contoh ini activity_main.xml, seperti berikut.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gwnbs.youtubeplayer">
<!-- Izin penggunaan internet -->
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.YoutubePlayer">
<activity android:name=".MainActivity"
android:configChanges="orientation|screenSize"> <!-- Config Changes untuk activity Main-->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
activity_main.xml :
Kemudian di MainActivity.java, inisialisai terlebih dahulu API Key yang dibuat sebelumnya menjadi sebuah fixed String, atau bisa juga langsung kalian sertakan saat menginisialisasi YouTubePlayerView. Saat inisialisai YouTubePlayerView berhasil, didalam override onInitializationSuccess kita memanggil youTubePlayer.loadVideo(String videoKey); untuk segera memutar video saat inisialisasi berhasil.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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">
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtubePlayer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Nah, untuk mendapatkan video key dari sebuah video, silahkan kunjungi youtube.com melalui browser, lalu putar sebuah video. Kemudian pada kolom link atau pencarian browser kalian akan terlihat misalnya seperti ini : https://www.youtube.com/watch?v=giWIr7U1deA .
Pada link video youtube diatas, video key nya adalah "giWIr7U1deA". Pada intinya, setiap video key dari sebuah video di youtube adalah semua karakter-karakter terakhir setelah simbol sama dengan (=).
Namun perlu diperhatikan juga misalnya kalian sebelumnya sudah menonton sebuah video di youtube dan tidak selesai maka saat kalian membuka dan menonton nya kembali, kalian akan secara otomatis melanjutkan menonton video tersebut dimulai dari durasi terakhir kalian meninggalkan video tersebut, sehingga video key akan mendapat tambahan karakter, yakni simbol "&t=" diikuti durasi yang kalian tinggalkan. Pastikan kalian tidak mengikutsertakan tambahan karakter tersebut saat ingin mengcopy video key.
MainActivity.java :
Cara diatas adalah cara sederhana memutar langsung sebuah video. Nah berikutnya memutar banyak video, artinya kita memiliki sebuah daftar video yang mana ketika sebuah video selesai, video selanjutnya secara otomatis akan diputar. Disini kita memerlukan object List untuk membuat daftar video key kita. Pada contoh berikut, saya menggunakan object Array yang kemudian di konversi menjadi List.
package com.gwnbs.youtubeplayer;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.widget.Toast;
import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayerView;
public class MainActivity extends YouTubeBaseActivity {
//Silahkan ganti dengan API Key kalian. Api Key dibawah ini tidak valid
private static final String API_KEY = "AIzaSyAguheyxnJUqoiskxmndgfjdjwFHKdbXYE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
YouTubePlayerView youTubePlayerView = findViewById(R.id.youtubePlayer);
//inisialisasi YouTubePlayerView
youTubePlayerView.initialize(API_KEY, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
//Memutar video
youTubePlayer.loadVideo("giWIr7U1deA");
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
Toast.makeText(getApplicationContext(), "Failed to initialize. Please check something!",
Toast.LENGTH_SHORT).show();
}
});
}
}
Jika sebelumnya kita memanggil youTubePlayer.loadVideo(String videoKey);, sekarang kita memanggil youTubePlayer.loadVideos(List<String> videoKeys);. Disini saya sudah mengcopy 10 video key dari youtube.com. Sehingga MainActivity.java akan menjadi seperti berikut.
MainActivity.java :
Berikutnya kita lebih mengkostuminasi, misalnya kita memutar videonya pada sebuah event listener atau onClickListener. Tentunya activity_main.xml disini memerlukan tambahan komponen. Berikut ini saya menambahkan beberapa view dan layout. Juga sebuah LinearLayout kosong yang nantinya kita akan menambahkan view kedalamnya melalui MainActivity.java, mengapa view tidak langsung ditambahkan di activity_main.xml? Jawabannya karena yang akan kita tambahkan adalah 10 TextView, karena 10 itu termasuk jumlah yang banyak, maka sebaiknya kita menambahkan nya menggunakan java loop supaya lebih simpel kodingannya. Baik, berikut activity_main.xml..
package com.gwnbs.youtubeplayer;
import android.os.Bundle;
import android.widget.Toast;
import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayerView;
import java.util.Arrays;
public class MainActivity extends YouTubeBaseActivity {
//Silahkan ganti dengan API Key kalian. Api Key dibawah ini tidak valid
private static final String API_KEY = "AIzaSyAguheyxnJUqoiskxmndgfjdjwFHKdbXYE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
YouTubePlayerView youTubePlayerView = findViewById(R.id.youtubePlayer);
//inisialisai YouTubePlayerView
youTubePlayerView.initialize(API_KEY, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
//Memutar banyak video otomatis
youTubePlayer.loadVideos(Arrays.asList(videosKey));
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
Toast.makeText(getApplicationContext(), "Failed to initialize. Please check something!",
Toast.LENGTH_SHORT).show();
}
});
}
private final String [] videosKey = {"giWIr7U1deA", "Fp9pNPdNwjI", "nW948Va-l10", "ojGHE581lsM",
"4fFMlolMo_Q", "TcMBFSGVi1c", "6ZfuNTqbHE8", "eOrNdBpGMv8", "ue80QwXMRHg", "tmeOjFno6Do"};
}
activity_main.xml :
Pada MainActivity.java, kita harus membuat variabel global object YouTubePlayer supaya dapat diakses nantinya diluar inisialisai YouTubePlayerView. Saat inisialisai YouTubePlayerView berhasil, kita membuat argumen menyamakan di dalamnya untuk variabel YouTubePlayer. Berikut dibawah ini lengkapnya, sudah saya sematkan java comment pada setiap kode/metode nya.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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">
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtubePlayer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:id="@+id/layoutPlay"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="20dp"
android:gravity="top"
android:orientation="horizontal"
android:padding="10dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/youtubePlayer">
<TextView
android:id="@+id/textPlay"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.6"
android:background="?selectableItemBackground"
android:drawablePadding="10dp"
android:gravity="center_vertical"
android:text="Play Video"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:drawableStartCompat="@drawable/ic_play" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginStart="20dp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/textChooseVideo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?selectableItemBackground"
android:gravity="center_vertical"
android:text="Pilih video"
android:textColor="@color/black"
android:textSize="20sp"
app:drawableEndCompat="@drawable/ic_drop" />
<LinearLayout
android:id="@+id/layoutVideoList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java :
package com.gwnbs.youtubeplayer;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.TypedValue;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.core.content.ContextCompat;
import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayerView;
@SuppressLint("SetTextI18n")
public class MainActivity extends YouTubeBaseActivity {
//Silahkan ganti dengan API Key kalian. Api Key dibawah ini tidak valid
private static final String API_KEY = "AIzaSyAguheyxnJUqoiskxmndgfjdjwFHKdbXYE";
/*Variabel global untuk YouTubePlayer.
Saat inisialisai YouTubePlayerView berhasil maka variabel ini tidak lagi null dan kita bisa mengaksesnya
melalui event listener*/
private YouTubePlayer player;
private TextView textPlay;
private LinearLayout layoutPlay, layoutVideoList;
//Variabel string yang nilainya ditentukan nanti saat 10 Textview yang dibuat menggunakan loop di klik.
private String videoKeySelected = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Inisialisai view dengan ID
YouTubePlayerView youTubePlayerView = findViewById(R.id.youtubePlayer);
textPlay = findViewById(R.id.textPlay);
layoutVideoList = findViewById(R.id.layoutVideoList);
layoutPlay = findViewById(R.id.layoutPlay);
TextView textChooseVideo = findViewById(R.id.textChooseVideo);
//Inisialisasi YouTubePlayerView
youTubePlayerView.initialize(API_KEY, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
//Argumen untuk membuat player tidak lagi null.
player = youTubePlayer;
layoutPlay.setVisibility(View.VISIBLE);
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
Toast.makeText(getApplicationContext(), "Failed to initialize. Please check something!",
Toast.LENGTH_SHORT).show();
}
});
setVideoList();
textChooseVideo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
layoutVideoList.setVisibility(View.VISIBLE);
}
});
//Metode klik untuk memutar video
textPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//TextUtils.isEmpty untuk mendeteksi null dan kosong, untuk menghindari aplikasi crash NullPointerException
if (TextUtils.isEmpty(videoKeySelected)) {
Toast.makeText(getApplicationContext(), "Pilih video untuk dimainkan",
Toast.LENGTH_SHORT).show();
return;
}
if (player.isPlaying()) {
player.pause();
}
player.loadVideo(videoKeySelected);
}
});
}
private final String [] videosKey = {"giWIr7U1deA", "Fp9pNPdNwjI", "nW948Va-l10", "ojGHE581lsM",
"4fFMlolMo_Q", "TcMBFSGVi1c", "6ZfuNTqbHE8", "eOrNdBpGMv8", "ue80QwXMRHg", "tmeOjFno6Do"};
private void setVideoList() {
//Java loop menambahkan 10 Textview ke dalam linearlayout kosong
for (int i = 0; i < 10; i++) {
TextView textVideo = new TextView(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(0, 10, 0, 10);
textVideo.setLayoutParams(params);
textVideo.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
textVideo.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.black));
textVideo.setPadding(0, 5, 0, 5);
layoutVideoList.addView(textVideo);
}
//Membuat variabel ke-10 textview sehingga lebih mudah diakses untuk menentukan teks dan klik listener
TextView textVideo1 = (TextView) layoutVideoList.getChildAt(0);
TextView textVideo2 = (TextView) layoutVideoList.getChildAt(1);
TextView textVideo3 = (TextView) layoutVideoList.getChildAt(2);
TextView textVideo4 = (TextView) layoutVideoList.getChildAt(3);
TextView textVideo5 = (TextView) layoutVideoList.getChildAt(4);
TextView textVideo6 = (TextView) layoutVideoList.getChildAt(5);
TextView textVideo7 = (TextView) layoutVideoList.getChildAt(6);
TextView textVideo8 = (TextView) layoutVideoList.getChildAt(7);
TextView textVideo9 = (TextView) layoutVideoList.getChildAt(8);
TextView textVideo10 = (TextView) layoutVideoList.getChildAt(9);
//Menentukan text untuk ke 10 textview
textVideo1.setText("SangChi Trailer");
textVideo2.setText("Black Widow Trailer");
textVideo3.setText("Loki Trailer");
textVideo4.setText("The Falcon & The Winter Soldier Trailer");
textVideo5.setText("Wanda vs Agata Harkness");
textVideo6.setText("Avengers: Endgame Trailer");
textVideo7.setText("Avengers: Infinity War Trailer");
textVideo8.setText("The Avengers Trailer");
textVideo9.setText("Thor: Ragnarok Trailer");
textVideo10.setText("The Avengers: Age of Ultron");
//menentukan klik listener untuk ke-10 Textview
onTextVideoClicked(textVideo1, videosKey[0]);
onTextVideoClicked(textVideo2, videosKey[1]);
onTextVideoClicked(textVideo3, videosKey[2]);
onTextVideoClicked(textVideo4, videosKey[3]);
onTextVideoClicked(textVideo5, videosKey[4]);
onTextVideoClicked(textVideo6, videosKey[5]);
onTextVideoClicked(textVideo7, videosKey[6]);
onTextVideoClicked(textVideo8, videosKey[7]);
onTextVideoClicked(textVideo9, videosKey[8]);
onTextVideoClicked(textVideo10, videosKey[9]);
}
//Metode klik untuk ke-10 Textview yang dibuat menggunakan loop diatas
private void onTextVideoClicked(final TextView textVideo, final String videoKey) {
textVideo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
layoutVideoList.setVisibility(View.GONE);
videoKeySelected = videoKey;
textPlay.setText("Play " + textVideo.getText().toString());
}
});
}
}
2. Menggunakan Library
Cara ini sangat simpel tentunya, tidak membutuhkan API Key. Cukup dengan menambahkan library ke build.gradle app maka pemutar video Youtube pun siap untuk di implementasi. Library ini memenuhi syarat dan ketentuan Youtube API jadi kalian tidak perlu ragu jika ingin menggunakannya. Baik, tambahkan library berikut ke dalam dependencies pada file build.gradle(:app) dan sync project.
Lalu tambahkan komponennya di dalam layout activity.
implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:10.0.5'
activity_main.xml :
Kemudian MainActivity.java akan terlihat seperti ini :
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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">
<com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView
android:id="@+id/youtubePlayer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:showYouTubeButton="true"
app:showFullScreenButton="true"
app:showSeekBar="true"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java :
Untuk mengenal lebih jauh mengenai library ini, kalian bisa mengunjungi halaman Github dari project library ini DISINI. Jika misalnya Anda ingin videonya diputar pada event listener, Anda bisa mengkuti cara seperti penerapan API Youtube resmi diatas, karena class utama dalam library ini dengan API Youtube resmi tidak berbeda seperti misalnya YouTubePlayerView dan YouTubePlayer.
package com.gwnbs.youtubeplayer;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.YouTubePlayer;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.AbstractYouTubePlayerListener;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
YouTubePlayerView youTubePlayerView = findViewById(R.id.youtubePlayer);
getLifecycle().addObserver(youTubePlayerView);
youTubePlayerView.addYouTubePlayerListener(new AbstractYouTubePlayerListener() {
@Override
public void onReady(@NonNull YouTubePlayer youTubePlayer) {
super.onReady(youTubePlayer);
youTubePlayer.loadVideo("giWIr7U1deA", 0);
}
});
}
}
Baiklah, sekian dan terima kasih. Jika ada pertanyaan silahkan disampaikan melalui kolom komentar atau bisa hubungi melalui kontak yang tersedia.
0 comments:
Post a Comment