YouTubePlayerView在屏幕方向改变时重新加载视频

11

我使用以下活动从我的应用程序启动YouTube视频。当启动活动时,YouTube视频会播放。但当我改变屏幕方向时,视频没有恢复播放而是重新开始了。这里出了什么问题?

package com.example.blahblah;

import android.content.res.Configuration;
import android.os.Bundle;
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.YouTubePlayer.Provider;
import com.google.android.youtube.player.YouTubePlayerView;

public class YTPlayActivity extends YouTubeBaseActivity implements
YouTubePlayer.OnInitializedListener {


       static private String yt_sk;
       static private final String DEVELOPER_KEY = "my-api-key";

       @Override

       protected void onCreate(Bundle savedInstanceState) {

              super.onCreate(savedInstanceState);

              setContentView(R.layout.yt_player);
              Bundle extras = getIntent().getExtras();
             yt_sk = extras.getString("yt_sk");

              YouTubePlayerView youTubeView = (YouTubePlayerView)
findViewById(R.id.youtube_view);

           youTubeView.initialize(DEVELOPER_KEY, this);

          }

         @Override

         public void onInitializationFailure(Provider provider,
YouTubeInitializationResult error) {

                Toast.makeText(this, "Oh no! "+error.toString(),
Toast.LENGTH_LONG).show();

       }
       @Override

       public void onInitializationSuccess(Provider provider, YouTubePlayer player,
boolean wasRestored) {

              player.loadVideo(yt_sk);

       }



}

如果您旋转屏幕,则会重新创建您的 Activity。也许您需要监听 OnConfigurationChanged 事件并检查当前是否正在播放视频。如果是,请保存当前时间码并使用保存的时间码初始化视频... 至少我会这样检查(这只是一个猜测)。 - longi
1个回答

38

在AndroidManifest文件中添加了configChanges,它起作用了。

例如:

 <activity android:label=Activity Name" 
  android:configChanges="keyboardHidden|orientation|screenSize"
  android:name="com.example.blahblah"> 

通常情况下,您应该尽量避免这样做,因为Android文档将其称为“最后的手段”,但如果您在仅使用YouTubePlayerView的活动上这样做,则不会有害。 :) - Riot Goes Woof
1
它能够工作,但仍然继续使用纵向的XML文件而不是切换到横向文件。 - SUXA
@RiotGoesWoof,我的活动不仅有YouTubePlayerView。在这种情况下,建议采用什么方法?我还在播放器视图下面有一个列表视图。 - Wikki

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,