아래의 블로그의 하루플 스토리를 보고 만든 블로그입니다.!!!
https://haruple.tistory.com/161
1. Youtube Data API 키 발급
https://console.developers.google.com/
출처: https://haruple.tistory.com/161 [하루플스토리]
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를 입력하세요";
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