Как встроить и воспроизвести видео на YouTube в Android - PullRequest
12 голосов
/ 18 февраля 2012

Можем ли мы смотреть видео с YouTube в приложении для Android? Я имею в виду, если у нас есть ссылка на видео на YouTube, мы можем воспроизвести его в VideoView или другом виджете? Есть идеи по этому поводу?

Ответы [ 6 ]

15 голосов
/ 18 февраля 2012

Ответ прост: «ДА».

Пожалуйста, посмотрите на следующую ссылку,

Как воспроизводить видео YouTube в моем приложении для Android?

Потоковое видео Youtube

5 голосов
/ 20 ноября 2015

Сначала попробуйте скачать библиотеку проигрывателя Youtube для Android по ссылке ниже:

Youtube Android Player

Сначала необходимо установить его так: Проект -> Меню: Файл> Структура> Вкладка Зависимости> Добавить -> Зависимость библиотеки

, если это не работает, попробуйте один из следующих:

Добавить зависимость библиотеки внутри зависимости внутри файла build.gradle библиотеки, которую вы используете, и вставить свою библиотеку во внешние библиотеки.

OR

Просто перейдите в папку libs внутри папки приложения и вставьте все свои файлы .jar, например, файлы библиотеки. Теперь хитрость заключается в том, что теперь перейдите в файл settings.gradle и добавьте следующую строку: приложение 'Это определенно будет работать.

Тогда у вас должен быть такой макет:

<com.google.android.youtube.player.YouTubePlayerView
    android:id="@+id/player_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

И у вас может быть активность игрока, подобная этой:

import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
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;
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestInitializer;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.youtube.YouTube;
import java.io.IOException;

public class YoutubeActivity extends YouTubeBaseActivity{

    private YouTubePlayerView playerView;
    private YouTube youtube;

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);

        setContentView(R.layout.activity_youtube);

        youtube = new YouTube.Builder(new NetHttpTransport(),
                new JacksonFactory(), new HttpRequestInitializer() {
            @Override
            public void initialize(HttpRequest hr) throws IOException {}
        }).setApplicationName(this.getString(R.string.app_name)).build();


        playerView = (YouTubePlayerView)findViewById(R.id.player_view);
        playerView.initialize("Your API Key", new YouTubePlayer.OnInitializedListener() {
            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                if(!b){
                    String videoId = getIntent().getExtras().getString("videoID");
                    youTubePlayer.cueVideo(videoId);
                }
            }

            @Override
            public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
                Toast.makeText(getApplicationContext(), getString(R.string.failed), Toast.LENGTH_LONG).show();
            }
        });
    }

}
1 голос
/ 27 ноября 2015

Вы можете использовать webview для этого.Вот скриншот того, как это выглядит с веб-просмотром: -

YouTube with webview

, если это то, чего вы хотите достичь, вы можете получить образец приложенияздесь: - https://github.com/hiteshsahu/Android-Universal-Web-Content-Loader

Поддерживается как портретный, так и ландшафтный режим.

1 голос
/ 20 ноября 2015

есть официальный API YouTube Player Player, который вы можете использовать. Это немного сложнее, но работает лучше, чем другие решения, использующие веб-клиентов.

Сначала вы должны зарегистрировать свое приложение в Googles API Console. Это совершенно бесплатно, пока ваше приложение не получит более 25 000 запросов в месяц (или что-то в этом роде). По этой ссылке вы найдете полные отличные учебники. Я надеюсь, что вы можете понять их. Если нет, спросите! :)

0 голосов
/ 30 декабря 2017

Может интегрировать видео YouTube с использованием YouTube SDK

с YouTube SDK вы можете иметь много вариантов при интеграции видео

для более http://www.androidcoding.in/2017/12/17/android-play-youtube-video-play-youtube-video-app/

private final class StateChangeListener implements YouTubePlayer.PlayerStateChangeListener {

@Override
 public void onLoading() {
 }

 @Override
 public void onLoaded(String s) {
  }

  @Override
  public void onAdStarted() {
  }

  @Override
   public void onVideoStarted() {
   }

   @Override
   public void onVideoEnded() {
   }

    @Override
   public void onError(YouTubePlayer.ErrorReason errorReason) {
        }
       }
0 голосов
/ 28 января 2017

для реализации видео на YouTube смотрите этот пост

http://www.feelzdroid.com/2017/01/embed-youtube-video-player-android-app-example.html

Здесь добавлены подробные шаги с графическими изображениями, если у вас возникнут какие-либо проблемы, дайте мне знать.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...