혁신을 이룹니다, 오딘박스(OdinBOX)

언제나 어디서나 오딘박스와 함께!

안드로이드 스튜디오, Youtube API를 활용해 동영상 재생

간지뽕빨리턴님 2020. 4. 29. 16:51
반응형

안드로이드스튜디오,유튜브,동영상재생,개발자,콘솔,초보자

유튜브 API를 활용하여, 동영상 재생하기

유튜브의 강의를 참고하며, 만들어보고 있는 중이다. 아직은 여전히 부족한 부분이 많아 동영상을 보면서 하나하나 따라하고 모르는 것이 있으면 인터넷에 검색하며 이게 무엇인지에 대해서 배우고 있다. 처음으로 유튜브API를 활용하여, 동영상을 재생하는 어플을 만들어보았다. 영상에선 현재의 사용하는 버전보다 구버전이라 조금씩 틀려 진땀뺏다 인터넷의 힘으로 스마트폰을 연결하고 실행하니 잘 되는 모습에 뿌-듯하다

 

먼저, 레이아웃 구성은 view를 추가했는데 여기서 youtubeView로 설정하였다. 그리고, 버튼을 하나 추가했다. 버튼을 추가한 이유는 이 버튼을 누르면 동영상이 재생 될 수 있게 하기 위해서였다.

 

그리고, AndroidManifest.xml에 uses-permission으로 android.permission.INTERNET를 추가했다.

구글 검색 창에 Youtube API[링크]를 검색하고 해당 JAR 파일을 Project Structure -> Modules -> + -> import JAR/AAR Package를 누르고 해당 파일을 선택하고 추가했다.

 

이제 구글 API 콘솔[링크]에 들어가서  사용자 인증과 프로젝트를 추가했다. 여기서 SHA1 값은 Gradle의 signingReport에서 SHA1 값을 입력했다.

 

이제 다시 안스(안드로이드 스튜디오)로 돌아가서 소스 코딩을 했다.

* MainActivity.java
package com.example.tutorial7;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

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 {
    YouTubePlayerView youTubePlayerView;
    Button btn;
    YouTubePlayer.OnInitializedListener listener;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn = findViewById(R.id.youtubeBtn);
        youTubePlayerView = findViewById(R.id.youtubeView);
        listener = new YouTubePlayer.OnInitializedListener() {
            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                youTubePlayer.loadVideo("KWeEQ9MXA9Q"); // 동영상
            }

            @Override
            public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {

            }
        };

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                youTubePlayerView.initialize("AIzaSyBbFX9UPgdJLeGDmE0EFAhKdgMsjLfsLZM", listener); // api

            }
        });
    }
}


* activity_main.xml
<?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/youtubeView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="80dp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/youtubeBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="160dp"
        android:layout_marginLeft="160dp"
        android:layout_marginTop="488dp"
        android:text="재 생"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

 

실행화면

앞으로도 열공 !