Страницы

Поиск по вопросам

суббота, 4 января 2020 г.

Видео из YouTube в андроид приложении

#android #youtube


В некоторых приложениях есть функция  проигрывания видео не переходя в официальное
приложение YouTube. Как это реализовать?Есть ли специальные библиотеки?Если реализация
очень сложна, то как просто вставить видео из YouTube в приложение, даже , с условием
, что оно будет проигрываться в официальном приложении?
    


Ответы

Ответ 1



[http://www.sitepoint.com/using-the-youtube-api-to-embed-video-in-an-android-app/ ] Тут ты найдёшь пример использования такого окна ютуба. Там же найдёшь ссылку на целый проект. Ссылка называется download the completed project here. Чтоб проект заработал, тебе нужен api ключ, который ты должен создать в console.developers.google.com, тебе только гугл аккаунт нужен. Там создай виртуальный проект, перейди по кнопке Enable APIs and get credentials like keys YouTube Data API - Enable кажется, кнопка сверху. Нажми её, далее слева вкладка Credentials, далее на синюю кнопку credentials, выйдет подменю, там android key package name - имя твоего проекта, типа com.example.zaynulabid.myprojectname . SHA-1 у меня такой 39:A2:AB:DF:C9:A4:24:BB:19:0F:73:40:FC:99:08:4E:36:6B:FC:6D, у тебя будет другой. Как тебе его достать: В андроид студио внизу есть окошко терминала, напиши там команду для Mac OS X keytool -list -v -keystore ~/.android/debug.keystore или keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android для Windows7: keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android НО! это DEBUG CERTIFICATE Он для тестирования. Для выгрузки на маркет, он не подойдёт. Для выгрузки на маркет нужен, кажется, "RELEASE CERTIFICATE". Если выйдет строка Enter keystore password:, впиши android Выйдет куча строк. Найди "SHA1:" и содержимое скопируй и вставь в поле при создании апи ключа. Когда создашь этот апи ключ, засунь его в тот проект, в класс Config.java P.S. Browser API нужен для отображения списка видео, а Youtube API нужен для самого плеера в приложении, он и должен считывать количество просмотров. В общем, браузер апи используем при подгрузке данных о списке видео, ютуб апи при воспроизведении через плеер. Ещё, последнее. Надо скачать библиотеки ютуба. Отсюда [https://developers.google.com/youtube/android/player/downloads/ ] Распакуй архив в папку lib твоего проекта и в build.gradle в блок dependencies впиши строку compile files('libs/YouTubeAndroidPlayerApi.jar') Чтоб расширить функционал, я поискал и добавил ещё парочку файлов. Тебе они по идее не должны понадобиться для этого проекта. Но если что, поищи в инете и скачай, тоже с офф сайта google compile files('libs/google-api-client-1.21.0.jar') compile files('libs/google-api-client-android-1.21.0.jar') compile files('libs/google-http-client-1.21.0.jar') compile files('libs/google-http-client-android-1.21.0.jar') compile files('libs/google-http-client-jackson2-1.21.0.jar') compile files('libs/google-oauth-client-1.21.0.jar') compile files('libs/jackson-core-2.1.3.jar') compile files('libs/jsr305-1.3.9.jar') Если будете работать с каналом youtube, то нужен будет browser api, можно также создать в Credentials, где создавали youtube api ключ. При создании ключа, поля адреса для доступа пока оставить пустым(это ограничители для ключа). Вот пример адреса к видео https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=[ID плейлиста]&key=[ключ browser api] У меня так: https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=UUIQ6UDqSoWIEoGZ5tLJd1QA&key=AIzaSyDLMSSM79_......................BQ Если будете работать с проектом, на который я ссылался, то там будет класс плеера, в котором будет строка кода youTubeView.initialize(Config.YOUTUBE_API_KEY, this); Вот в YOUTUBE_API_KEY класса Config и надо вставить свой ютуб-апи ключ

Ответ 2



Можно попробовать через VideoView: VideoView videoView = (VideoView)findViewById(R.id.video_view); String pathToVide = "https://archive.org/download/ksnn_compilation_master_the_internet/ksnn_compilation_master_the_internet_512kb.mp4"; Uri videoUri = Uri.parse(pathToVide); videoView.setVideoURI(videoUri); videoView.start(); Разметка: Еще, как вариант, можно использовать MediaPlayer. Скорее всего вам он предпочтительнее в использовании. По ссылке можете посмотреть реализацию. Пример взят отсюда.

Комментариев нет:

Отправить комментарий