Как воспроизвести видео на YouTube с фрагментом в Android? - PullRequest
0 голосов
/ 17 января 2020

Я создаю приложение на api29 и пытаюсь реализовать различные виды fragments. У меня есть:

  • основное действие (MainActivity.java)
  • действие по управлению фрагментом (FragmentContent.java)
  • макет файла .xml ( activity_main.xml)
  • фрагмент .xml файл (fragment_video.xml)

Я также скачал v1.2.2 API YouTube и поместил банку в папку lib моего приложения и добавил inte rnet доступ к файлу манифеста.

Тем не менее, я не уверен, как действовать и где на самом деле кодировать

  • MainActivity.java или FragmentContent.java

и что точно, чтобы закодировать

  • видеовид или что-то совершенно новое

1 Ответ

2 голосов
/ 17 января 2020
  • как действовать и где на самом деле кодировать

    Вы хотите кодировать в VideoFragment

  • что точно к коду:

    Пожалуйста, перейдите по этой ссылке: YouTube Android Player Player

  • Видеовид или что-то совершенно новое

    Сначала добавьте jar зависимость implementation files('libs/YouTubeAndroidPlayerApi.jar')

Теперь пользователь ниже кода в xml:

<com.google.android.youtube.player.YouTubePlayerView
        android:id="@+id/youtube_player_view"
        android:layout_width="match_parent"
        android:layout_height="@dimen/_200sdp"
        android:layout_margin="@dimen/_5sdp"
        android:layout_below="@+id/header"
        />

Java код:

youtube_player_view = findViewById(R.id.youtube_player_view);

private void initVideo(final String videoId) {
        youtube_player_view.initialize(getResources().getString(R.string.youtube_api_key), new YouTubePlayer.OnInitializedListener() {
            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean youtube_avalable) {
                //youTubePlayerMain = youTubePlayer;

                if (!youtube_avalable) {

                    youTubePlayerMain = youTubePlayer;

                    youTubePlayerMain.loadVideo(videoId);
                    youTubePlayerMain.setShowFullscreenButton(false);
                }
            }

            @Override
            public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
                if (youTubeInitializationResult.isUserRecoverableError()) {
                    youTubeInitializationResult.getErrorDialog(getApplicationContext(), 1).show();
                } else {
                    Toast.makeText(getApplicationContext(), youTubeInitializationResult.toString(), Toast.LENGTH_LONG).show();
                }
            }
        });

    }
...