본문 바로가기
안드로이드 자바

[Android][JAVA] Youtube API를 이용하지 않고 유튜브 영상 재생하기

by teamnova 2023. 6. 20.

안녕하세요.

 

오늘은 YouTube API를 사용하지 않고, 유튜브 영상을 재생하는 법을 알아보도록 하겠습니다.

 

먼저, Gradle Scripts-build.gradle에서 dependencies에 pierfrancescosoffritid 라이브러리를 추가하고 싱크해줍니다. 

implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:11.1.0'

다음으로 activity_main.xml로 이동해 YouTubePlayerView를 추가해줍니다.

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView
        android:id="@+id/youtube_player_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:videoId="lWelo_8_EtY"
        app:autoPlay="true" />
</LinearLayout>

MainActivity.java 파일코드 입니다. 재생을 원하는 videoID를 넣으면, YouTube API를 사용하지 않고도, 영상을 재생할 수 있습니다.  

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

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.youtube_player_view);
        getLifecycle().addObserver(youTubePlayerView);


        youTubePlayerView.addYouTubePlayerListener(new AbstractYouTubePlayerListener() {
            @Override
            public void onReady(@NonNull YouTubePlayer youTubePlayer) {
                String videoId = "lWelo_8_EtY"; //재생을 원하는 YouTube 비디오의 videoID
                youTubePlayer.loadVideo(videoId, 0);
            }
        });
    }
}

 

코드실행 결과입니다.