기억 저장소

클라우드 기반 인공지능 개발과 DevOps 실무

프론트엔드/안드로이드 스튜디오

안드로이드 스튜디오 : 유튜브 연결하기

하늘.98 2022. 2. 22. 17:12

아래의 블로그의 하루플 스토리를 보고 만든 블로그입니다.!!!

 

https://haruple.tistory.com/161

 

안드로이드 스튜디오 유튜브(Youtube) 레이아웃에 띄우기, YouTubeAndroidPlayerAPI 사용하기

안녕하세요, 하루플스토리 입니다.😁 안드로이드 스튜디오로 앱 개발하면서 유튜브 영상을 띄우려 합니다. 그런데 유튜브 API를 사용해야하는 등 과정이 많이 번거롭더군요. 이 유튜브 API가 2015

haruple.tistory.com

 

 

1. Youtube Data API 키 발급

 

 

https://console.developers.google.com/

 

Google Cloud Platform

하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요.

accounts.google.com

 

 


출처: https://haruple.tistory.com/161 [하루플스토리]

 

안드로이드 스튜디오 유튜브(Youtube) 레이아웃에 띄우기, YouTubeAndroidPlayerAPI 사용하기

안녕하세요, 하루플스토리 입니다.😁 안드로이드 스튜디오로 앱 개발하면서 유튜브 영상을 띄우려 합니다. 그런데 유튜브 API를 사용해야하는 등 과정이 많이 번거롭더군요. 이 유튜브 API가 2015

haruple.tistory.com

 

 

 

 

2.API를 다운로드 받고, 압축을 풉니다.

이후 Project - app - libs 에 붙여넣습니다.

 

OK 하면 자동으로 Sync가 진행될 것입니다.

이러면 이제 유튜브 API를 사용할 수 있게 되었습니다.

이제 코딩을 해야합니다.

 

 

3. 권한 추가

유튜브가 연결되려면 당연히 인터넷이 연결되어야합니다.

매니페스트에 인터넷 권한을 추가해줍니다.

 

 

5. java 코딩

MainActivity.java


===========================================================================

import android.os.Bundle;
import android.util.Log;
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 playerView;
YouTubePlayer player;
//유튜브 API KEY와 동영상 ID 변수 설정
private static String API_KEY = "본인 API를 입력하세요";
//https://www.youtube.com/watch?v=hl-ii7W4ITg ▶ 유튜브 동영상 v= 다음 부분이 videoId
private static String videoId = "hl-ii7W4ITg";
//logcat 사용 설정
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initPlayer();
Button btnPlay = findViewById(R.id.youtubeBtn);
btnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
playVideo();
}
});
}
private void playVideo() {
if(player != null) {
if(player.isPlaying()) {
player.pause();
}
player.cueVideo(videoId);
}
}
//유튜브 플레이어 메서드
private void initPlayer() {
playerView = findViewById(R.id.youTubePlayerView);
playerView.initialize(API_KEY, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
player = youTubePlayer;
player.setPlayerStateChangeListener(new YouTubePlayer.PlayerStateChangeListener() {
@Override
public void onLoading() {
}
@Override
public void onLoaded(String id) {
Log.d(TAG, "onLoaded: " + id);
player.play();
}
@Override
public void onAdStarted() {
}
@Override
public void onVideoStarted() {
}
@Override
public void onVideoEnded() {
}
@Override
public void onError(YouTubePlayer.ErrorReason errorReason) {
Log.d(TAG, "onError: " + errorReason);
}
});
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
}
});
}
}

============================================================================

 

주의해야 할 점은 extends에서 AppCompatActivity가 아닌 YouTubeBaseActivity를 꼭 extends 해야합니다.

위 소스코드대로 하면 작동 잘 될거에요!

 

여기까지 진행하고 본인 스마트폰을 연결하여 테스트 해보시면 됩니다!

가상 디바이스 AVD로는 오류가 있다고 합니다. (저는 테스트해보지 않았습니다. 스마트폰에서는 잘 작동되네요~)

 

 

 

 


출처: https://haruple.tistory.com/161 [하루플스토리]

 

https://developers.google.com/youtube/android/player?hl=ko 

 

YouTube Android Player API  |  YouTube for Android  |  Google Developers

YouTube Android Player API YouTube Android Player API를 사용하면 Android 애플리케이션에 동영상 재생 기능을 통합할 수 있습니다. 이 API는 YouTube 동영상(및 재생목록)을 로드하고 재생하는 방식 및 동영상 재

developers.google.com