Using Youtube API In Android
안드로이드 Youtube API 사용 방법
1. https://developers.google.com/youtube/android/player/downloads/?hl=ko 에서 jar 파일 다운로드
2. (Mac 기준) Android Studio
-> File
-> project structure
-> 좌측 리스트에 보이는 Modules 하단에 App 클릭
-> Dependencies 탭 클릭
-> 좌측 하단 + 버튼 클릭
-> jar Dependencies 클릭
-> 1 에서 다운 받은 Youtube jar 파일 추가 -> 사용 준비 완료
3. 예제 (Thumbnail 출력 및 기본 Youtube 재생화면 출력)
아래 소스 코드 기능은
1. 해당 비디오 썸네일 출력
2. 썸네일 클릭시 유투브 기본 재생화면 실행 입니다.
YoutubeFragment.kt
class YoutubeFragment : Fragment() {
var videoId : String = "YoutubeVideoId"
private val youtubeAPIKey = "YouTubeAPIKey"
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.youtuebe, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
youtubeThumbnailView.initialize(youtubeAPIKey, object : YouTubeThumbnailView.OnInitializedListener {
override fun onInitializationSuccess(youTubeThumbnailView: YouTubeThumbnailView, youTubeThumbnailLoader: YouTubeThumbnailLoader) {
youTubeThumbnailLoader.setVideo(videoId)
youTubeThumbnailLoader.setOnThumbnailLoadedListener(object : YouTubeThumbnailLoader.OnThumbnailLoadedListener {
override fun onThumbnailLoaded(youTubeThumbnailView: YouTubeThumbnailView, s: String) {
youTubeThumbnailLoader.release()
}
override fun onThumbnailError(youTubeThumbnailView: YouTubeThumbnailView, errorReason: YouTubeThumbnailLoader.ErrorReason) {}
})
}
override fun onInitializationFailure(youTubeThumbnailView: YouTubeThumbnailView, youTubeInitializationResult: YouTubeInitializationResult) {}
})
youtubeThumbnailView.setOnClickListener {
val intent = YouTubeStandalonePlayer.createVideoIntent(activity, youtubeAPIKey, videoId, 0, true, false)
startActivity(intent)
}
}
}
youtube.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.youtube.player.YouTubeThumbnailView
android:id="@+id/youtubeThumbnailView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>