교내 공모전에 제출할 어플리케이션을 개발할 때, 앱 내에서 유튜브 플랫폼에 업로드 된 360도 영상을 (자동) 재생하는 기능이 필요했습니다.
당장 간단한 재생기능만 필요한데 굳이 유튜브 공식 API 를 거치는 것이 필요하지 않을 것 같다는 생각이 들어 검색을 해봤고, 몇 가지 방법이 있었는데 그 중 선택해서 편리하게 사용했던 방법을 기록합니다.
github.com/PierfrancescoSoffritti/android-youtube-player
PierfrancescoSoffritti/android-youtube-player
YouTube Player library for Android and Chromecast, stable and customizable. - PierfrancescoSoffritti/android-youtube-player
github.com
사용방법
1. dependency 추가
dependencies {
implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:10.0.5'
}
2. 예시 코드
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView
android:id="@+id/youtube_player_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:videoId="유튜브 비디오 주소(ex:RvA2cAQOHtY)"
app:autoPlay="true"
app:showFullScreenButton="false" />
</LinearLayout>
videoId 란에는 유튜브 비디오 주소를 넣어주면 됩니다.
가령 www.youtube.com/watch?v= RvA2cAQOHtY 의 경우 v= 뒤의 Rv ... 가 주소가 됩니다.
+ 깃헙을 참고하면 재생바가 보이지않게하거나, 라이브도 아닌데 라이브 ui를 사용한다거나.. 우상단 메뉴를 추가하는 등 여러가지로 확장이 가능합니다.
간단히 xml 에서 뷰 영역 선언하고 사이징하고 난 뒤에 주소만 넣으면 되는 형태였고, 개인적으로 우려했던 동영상이 일부공개 동영상 (주소를 알아야 접근 가능) 이라서 앱 내에서 실행이 안되는 것이 아닌가의 문제와 기기를 잡고 상하좌우로 돌리면 같이 움직이는 360도 VR 기능까지 같이 구현되야했던 문제를 모두 해결하는 방법이라서 유용하게 사용했습니다. 다만 초기 재생 화질 문제가 있었는데 이는 해결하지 못했습니다.