如何使用 YouTubePlayerView 在全屏横向模式下播放 YouTube 视频 Android

How to Play YouTube Video in only Full screen landscape mode using YoyTubePlayerView Android

我正在尝试使用 Youtube Intents 仅在全屏模式下播放视频

我想做的是在 Xml 中有一个 TubePlayerView,如下面的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<com.google.android.youtube.player.YouTubePlayerView
    android:id="@+id/videoView1"

    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:layout_marginTop="2dp"
    android:paddingTop="5dp" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />
</LinearLayout>

ID 为 videoView 的 youtubeplayer 视图,当我点击它时我想在新意图上播放视频使用 youtube 意图如下代码。

但问题是在执行 onClick 之后的事件 Intent 没有被调用

public class CallingIntent extends YouTubeBaseActivity implements     YouTubePlayer.OnInitializedListener  {

public static final String develop_you_key = " i have my key";
YouTubePlayerView youTubeView;
TextView ID,Video_id,Video_name,duration,countView,published;
String ID1,Video_id1,Video_name1,duration1,countView1,published1;
private static final int RECOVERY_DIALOG_REQUEST = 1;
YouTubePlayer youTubePlayer;

MediaPlayer mPlayer;
Intent receInt;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.vid_play);

    Intent in = getIntent();
//  String st= in.getStringExtra("image");
    ID1=in.getStringExtra("ID");
    Video_id1=in.getStringExtra("video_id");
    Video_name1=in.getStringExtra("video_name");




    ID =(TextView) findViewById(R.id.textView1);
    Video_id =(TextView) findViewById(R.id.textView2);
    Video_name=(TextView)findViewById(R.id.textView3);

    ID.setText(ID1);
    Video_id.setText(Video_id1);
    Video_name.setText(Video_name1);


     youTubeView= (YouTubePlayerView) findViewById(R.id.videoView1);
    youTubeView.initialize(develop_you_key,(YouTubePlayer.OnInitializedListener)this);

    findViewById(R.id.videoView1).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent intent = YouTubeIntents.createPlayVideoIntentWithOptions(getApplicationContext(), Video_id1, true, false);

            startActivity(intent);
            finish();
        }
    });;

    mPlayer = new MediaPlayer();


}



@Override
public void onInitializationFailure(YouTubePlayer.Provider player,
        YouTubeInitializationResult errorReason) {
    // TODO Auto-generated method stub
    String errorMessage = errorReason.toString();
    Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show();



}


@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player,
        boolean wasRestored) {
    // TODO Auto-generated method stub


    if(!wasRestored)player.cueVideo(Video_id1);


    }
}

请观察 onclickListener 并在初始化成功时告诉我如何使用 Youtube intent 直接播放视频 "YouTubeIntents.createPlayVideoIntentWithOptions"

问题是我想加载视频不想用缩略图代替 VideoView。

经过大量修改后,我将 xml 文件从 com.google.android.youtube.player.YouTubePlayerView 更改为 com.google.android.youtube.player.YouTubeThumbnailView

正在加载图片 `

<com.google.android.youtube.player.YouTubeThumbnailView
    android:id="@+id/videoView1"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:layout_marginTop="2dp"
    android:paddingTop="5dp" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

</LinearLayout>`

从 youtube 加载图像并以全屏模式播放视频 代码修改为

public class VideoDetailView extends YouTubeBaseActivity implements YouTubeThumbnailView.OnInitializedListener{

public static final String develop_you_key = "i have my key";
YouTubePlayerView youTubeView;
TextView ID,Video_id,Video_name,duration,countView,published;
String ID1,Video_id1,Video_name1,duration1,countView1,published1;
//YouTubePlayerView youtubeplayer =(YouTubePlayerView) findViewById(R.id.videoView1);
YouTubeThumbnailView YoutubeThumb ;
YouTubeThumbnailLoader youTubeThumbnailLoader;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.video_detail);

    Intent in = getIntent();
//  String st= in.getStringExtra("image");
    ID1=in.getStringExtra("ID");
    Video_id1=in.getStringExtra("video_id");
    Video_name1=in.getStringExtra("video_name");
    duration1=in.getStringExtra("duration");
    countView1=in.getStringExtra("viewcount");
    published1=in.getStringExtra("published");


//  VideoView vv =(VideoView) findViewById(R.id.videoView1);
    ID =(TextView) findViewById(R.id.textView1);
    Video_id =(TextView) findViewById(R.id.textView2);
    Video_name=(TextView)findViewById(R.id.textView3);
    duration= (TextView)findViewById(R.id.textView4);
    countView=(TextView)findViewById(R.id.textView5);
    published=(TextView)findViewById(R.id.textView6);
    ID.setText(ID1);
    Video_id.setText(Video_id1);
    Video_name.setText(Video_name1);
    duration.setText(duration1);
    countView.setText(countView1);
    published.setText(published1);

    YoutubeThumb= (YouTubeThumbnailView) findViewById(R.id.videoView1);
    YoutubeThumb.initialize(develop_you_key,(YouTubeThumbnailView.OnInitializedListener)this);
    YoutubeThumb.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent intent = YouTubeIntents.createPlayVideoIntentWithOptions(getApplicationContext(), Video_id1, true, false);
            startActivity(intent);
        }
    });



}




@Override
public void onInitializationFailure(YouTubeThumbnailView thumbnail,
        YouTubeInitializationResult arg1) {
    // TODO Auto-generated method stub

}

@Override
public void onInitializationSuccess(YouTubeThumbnailView thumbnail,
        YouTubeThumbnailLoader imageLoader) {
    // TODO Auto-generated method stub

    youTubeThumbnailLoader  = imageLoader;
    imageLoader.setOnThumbnailLoadedListener(new OnThumbnailLoadedListener() {

        @Override
        public void onThumbnailLoaded(YouTubeThumbnailView arg0, String arg1) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onThumbnailError(YouTubeThumbnailView arg0, ErrorReason arg1) {
            // TODO Auto-generated method stub

        }
    });
    youTubeThumbnailLoader.setVideo(Video_id1);
}


}