프로그래밍/안드로이드

안드로이드 - 6. 유튜브 재생하기

가카리 2017. 10. 3. 22:46
반응형


먼저 아래 유튜브 안드로이드 Player API를 다운 받아야합니다.


압축 파일을 푼뒤 libs폴더의 jar파일을 복사하여 프로젝트 폴더내의 app/libs에 붙여넣기 합니다.




안드로이드 스튜디오에서 라이브러리를 사용하기위해

File - Project Structue로 가서 Modules에 app으로 간 뒤 Dependencies탭으로 갑니다.

그리고 아까 다운받은 jar파일을 추가해줍니다.




이제 레이아웃을 그릴 차례입니다.

직접 xml파일을 쓰셔도 되고 아래와 같이  View를 추가하신다음 YouTubePlayerView를 추가시켜도 됩니다.



아래처럼 선택하셔도됩니다.



activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.kch.tutorial6_youtube.MainActivity">

    <view
        android:id="@+id/youtubeView"
        class="com.google.android.youtube.player.YouTubePlayerView"
        id="@+id/view2"
        android:layout_width="345dp"
        android:layout_height="215dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="16dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:layout_editor_absoluteX="5dp" />

    <Button
        android:id="@+id/youtubebutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Start"
        app:layout_constraintTop_toTopOf="parent"
        android:layout_marginTop="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="8dp"
        android:layout_marginLeft="8dp"
        app:layout_constraintLeft_toLeftOf="parent"
        android:layout_marginRight="8dp"
        app:layout_constraintRight_toRightOf="parent" />
</android.support.constraint.ConstraintLayout>


그다음 YouTube API를 사용하기 위해서  구글 APIs에서  API키를 발급받아야합니다.

아래와 같이  안드로이드 스튜디오에서 오른쪽 Gradle버튼을 누르고 Tasks->android->signingReport를 더블클릭하면

아래 Gradle Console에 다음과 같이  SHA1값이 뜹니다. 이 값을 복사한뒤







구글 API 및 서비스에서 사용자 인증 정보를 만든후 클릭해보면




아래와 같이 뜨는데 Android apps를 클릭하고 패키지 이름 및 지문 추가를 누릅니다.




다음과 같이 프로젝트의 패키지명과 아까 복사해둔 SHA-1 인증서 지문을 넣어줍니다.


마지막 MainActivity.java 파일을 작성합니다.


package com.example.kch.tutorial6_youtube;

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;

//YouTubeBaseActivity로 상속 받는것에 유의
public class MainActivity extends YouTubeBaseActivity {

    YouTubePlayerView youTubeView;
    Button button;
    YouTubePlayer.OnInitializedListener listener;

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

        button = (Button)findViewById(R.id.youtubebutton);
        youTubeView = (YouTubePlayerView)findViewById(R.id.youtubeView);

        //리스너 등록부분
        listener = new YouTubePlayer.OnInitializedListener(){

            //초기화 성공시
            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                youTubePlayer.loadVideo("QadSVWXF_ks");//url의 맨 뒷부분 ID값만 넣으면 됨
            }

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

            }

        };

        button.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View view) {
                //첫번째 인자는 API키값 두번째는 실행할 리스너객체를 넘겨줌
                youTubeView.initialize("AIzaSyAmkohU9WUmoA-1cGo1yby0545s7XfZaEo", listener);
            }
        });


    }
}



실행 화면

버튼을 누르면 아래와 같이 영상이 정상적으로 실행됨을 알 수 있습니다.







반응형