使用 youtube API(回收站视图)显示的视频只能水平播放,不能垂直播放

维巴夫

我开发了一个自定义应用程序来使用回收器视图显示 youtube 视频。视频显示正常,但即使手机的方向不变,点击播放视频的方向也会更改为水平。

示例中有 3 个视频,它们都垂直堆叠,但是在尝试播放时,方向变为水平(全屏)。谁能帮我解决这个问题。

谢谢维巴夫

Recycler 和 View Holder 代码:

    package com.example.android.kanchikamakshiammanandperiva;
            import android.app.Activity;
            import android.content.Context;
            import android.content.Intent;
            import android.content.res.Resources;
            import android.support.v7.widget.LinearLayoutManager;
            import android.support.v7.widget.RecyclerView;
            import android.util.Log;
            import android.view.LayoutInflater;
            import android.view.View;
            import android.view.ViewGroup;
            import android.widget.ImageView;
            import android.widget.RelativeLayout;
            import android.widget.Toast;
            import android.util.Log;
            import android.net.Uri;
            import android.gesture.Gesture;
            import android.content.pm.PackageManager;
            import com.google.android.youtube.player.YouTubeInitializationResult;
            import com.google.android.youtube.player.YouTubeStandalonePlayer;
            import com.google.android.youtube.player.YouTubeThumbnailLoader;
            import com.google.android.youtube.player.YouTubeThumbnailView;

            import static android.R.attr.data;
            import static android.app.PendingIntent.getActivity;

    /**
     * Created by Rajan.V on 08-04-2017.
     */
    public class RecyclerActivity extends RecyclerView.Adapter<RecyclerActivity.VideoInfoHolder> {

        //these ids are the unique id for each video
        String[] VideoID = {"R1YSjGzUo-w","ROoMBKX7264"};
        Context ctx;
        String key="AIzaSyDNTmnhwyDEGEQMkZmqpc8IHb-jXytG4WE";

        public RecyclerActivity(Context context) {
            this.ctx = context;

        }

        @Override
        public VideoInfoHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false);
            return new VideoInfoHolder(itemView);
        }

        @Override
        public void onBindViewHolder(final VideoInfoHolder holder, final int position) {


            final YouTubeThumbnailLoader.OnThumbnailLoadedListener  onThumbnailLoadedListener = new YouTubeThumbnailLoader.OnThumbnailLoadedListener(){
                @Override
                public void onThumbnailError(YouTubeThumbnailView youTubeThumbnailView, YouTubeThumbnailLoader.ErrorReason errorReason) {
                    Log.i("onThumbnailError1","onThumbnailError1");
                }

                @Override
                public void onThumbnailLoaded(YouTubeThumbnailView youTubeThumbnailView, String s) {

                    youTubeThumbnailView.setVisibility(View.VISIBLE);
                    holder.relativeLayoutOverYouTubeThumbnailView.setVisibility(View.VISIBLE);
                    Log.i("onThumbnailLoaded1","onThumbnailLoaded1");
                }
            };



            holder.youTubeThumbnailView.initialize("AIzaSyDNTmnhwyDEGEQMkZmqpc8IHb-jXytG4WE", new YouTubeThumbnailView.OnInitializedListener() {
                @Override
                public void onInitializationSuccess(YouTubeThumbnailView youTubeThumbnailView, YouTubeThumbnailLoader youTubeThumbnailLoader) {

                    youTubeThumbnailLoader.setVideo(VideoID[position]);
                    youTubeThumbnailLoader.setOnThumbnailLoadedListener(onThumbnailLoadedListener);
                    Log.i("success1","success1");
                }

                @Override
                public void onInitializationFailure(YouTubeThumbnailView youTubeThumbnailView, YouTubeInitializationResult youTubeInitializationResult) {
                    Log.i("failure1","failure1");

                }
            });
        }

        @Override
        public int getItemCount() {
            return VideoID.length;
        }

        public class VideoInfoHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

            protected RelativeLayout relativeLayoutOverYouTubeThumbnailView;
            YouTubeThumbnailView youTubeThumbnailView;
            protected ImageView playButton;


            public VideoInfoHolder(View itemView) {
                super(itemView);
                Log.i("VideoInfoHolder","VideoInfoHolder");
                playButton=(ImageView)itemView.findViewById(R.id.btnYoutube_player);
                playButton.setOnClickListener(this);
                relativeLayoutOverYouTubeThumbnailView = (RelativeLayout) itemView.findViewById(R.id.relativeLayout_over_youtube_thumbnail);
                youTubeThumbnailView = (YouTubeThumbnailView) itemView.findViewById(R.id.youtube_thumbnail);
            }

            @Override
            public void onClick(View v) {
                Log.i("onClick","onClick");
    try {
        Intent intent = YouTubeStandalonePlayer.createVideoIntent((Activity) ctx, "AIzaSyDNTmnhwyDEGEQMkZmqpc8IHb-jXytG4WE", VideoID[getLayoutPosition()]);

        ctx.startActivity(intent);
    } catch(Exception e)
    {
        Toast.makeText(ctx, e.toString(), Toast.LENGTH_LONG).show();
    }

        } }}

列表项 XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/parent_relativeLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >



        <com.google.android.youtube.player.YouTubeThumbnailView
            android:id="@+id/youtube_thumbnail"
            android:layout_width="match_parent"
            android:layout_height="500dp"
            android:scaleType="centerCrop"
            android:visibility="visible"/>

        <RelativeLayout android:id="@+id/relativeLayout_over_youtube_thumbnail"
            android:layout_width="match_parent"
            android:layout_height="550dp"
            android:background="@color/color_background_transparent"
            android:visibility="visible">

            <ImageView android:id="@+id/btnYoutube_player"
                android:layout_width="250dp"
                android:layout_height="250dp"
                android:scaleType="center"
                android:layout_alignParentBottom="true"

                android:src="@drawable/ic_youtube_play_button"/>

        </RelativeLayout>


</RelativeLayout>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JavaFX播放YouTube视频

来自分类Dev

使用MPMoviePlayerController播放youtube视频

来自分类Dev

显示进度。使用iframe youtube播放器api播放视频

来自分类Dev

使用YouTube Helper Library iOS在后台播放youtube视频

来自分类Dev

如何使用MPMoviePlayer播放YouTube视频?

来自分类Dev

如何使用MPMoviePlayerController播放youtube视频?

来自分类Dev

使用Youtube Android Player API的浮动视频播放器

来自分类Dev

如何使用YouTubePlayerFragment通过YouTube API播放视频?

来自分类Dev

使用 YouTube API 从播放列表中删除视频

来自分类Dev

如何仅显示视频链接列表并使用Youtube Searching API播放

来自分类Dev

如何使用YouTube Android Player API播放YouTube实时流?

来自分类Dev

使用youtube v3 API从youtube播放列表中检索所有视频

来自分类Dev

使用YouTube API播放开始时间和结束时间的YouTube视频

来自分类Dev

使用Android Youtube API播放实时流

来自分类Dev

如何使用Youtube API查找直播视频列表?

来自分类Dev

我可以使用YouTube API启用YouTube直播吗?

来自分类Dev

使用YouTube API更新视频

来自分类Dev

使用YouTube Android Api显示视频

来自分类Dev

使用Youtube-Api

来自分类Dev

不能使用ng-src指令从html5播放youtube视频

来自分类Dev

使用课程而不是ID停止YouTube YouTube播放器

来自分类Dev

使用Java获取YouTube播放列表的所有视频

来自分类Dev

是否无法使用UIWebView自动播放嵌入的YouTube视频?

来自分类Dev

使用来自YoutubeAndroidPlayerAPI的YoutubePlayerView播放私人YouTube视频?

来自分类Dev

如何在iOS中使用jwplayer播放youtube视频?

来自分类Dev

使用youtube-ios-player-helper播放视频

来自分类Dev

无法使用Firefox 79.0(64位)播放YouTube“实时”视频

来自分类Dev

播放YouTube视频时CPU使用率高

来自分类Dev

无法使用 Firefox 79.0(64 位)播放 YouTube“实时”视频

Related 相关文章

  1. 1

    使用JavaFX播放YouTube视频

  2. 2

    使用MPMoviePlayerController播放youtube视频

  3. 3

    显示进度。使用iframe youtube播放器api播放视频

  4. 4

    使用YouTube Helper Library iOS在后台播放youtube视频

  5. 5

    如何使用MPMoviePlayer播放YouTube视频?

  6. 6

    如何使用MPMoviePlayerController播放youtube视频?

  7. 7

    使用Youtube Android Player API的浮动视频播放器

  8. 8

    如何使用YouTubePlayerFragment通过YouTube API播放视频?

  9. 9

    使用 YouTube API 从播放列表中删除视频

  10. 10

    如何仅显示视频链接列表并使用Youtube Searching API播放

  11. 11

    如何使用YouTube Android Player API播放YouTube实时流?

  12. 12

    使用youtube v3 API从youtube播放列表中检索所有视频

  13. 13

    使用YouTube API播放开始时间和结束时间的YouTube视频

  14. 14

    使用Android Youtube API播放实时流

  15. 15

    如何使用Youtube API查找直播视频列表?

  16. 16

    我可以使用YouTube API启用YouTube直播吗?

  17. 17

    使用YouTube API更新视频

  18. 18

    使用YouTube Android Api显示视频

  19. 19

    使用Youtube-Api

  20. 20

    不能使用ng-src指令从html5播放youtube视频

  21. 21

    使用课程而不是ID停止YouTube YouTube播放器

  22. 22

    使用Java获取YouTube播放列表的所有视频

  23. 23

    是否无法使用UIWebView自动播放嵌入的YouTube视频?

  24. 24

    使用来自YoutubeAndroidPlayerAPI的YoutubePlayerView播放私人YouTube视频?

  25. 25

    如何在iOS中使用jwplayer播放youtube视频?

  26. 26

    使用youtube-ios-player-helper播放视频

  27. 27

    无法使用Firefox 79.0(64位)播放YouTube“实时”视频

  28. 28

    播放YouTube视频时CPU使用率高

  29. 29

    无法使用 Firefox 79.0(64 位)播放 YouTube“实时”视频

热门标签

归档