安卓的YouTube API第3版 - 方向 [英] Android YouTube api v3 - orientation

查看:1009
本文介绍了安卓的YouTube API第3版 - 方向的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

获取样本的活动和使用YouTubeBaseActivity,YouTubePlayerView和YouTubePlayer是再简单不过的运行。我在使用定位的麻烦,但并不能找到任何文件或样品code。当我切换,而一个视频播放,屏幕是空白。

Getting a sample activity up and running using YouTubeBaseActivity, YouTubePlayerView and YouTubePlayer was simple enough. I'm having trouble with orientation though and can't find any documentation or sample code. When I switch while a video is playing the screen is blank.

什么是正确的事情做在每一个的onCreate(),在onPause()的onSaveInstanceState()和onRestoreInstanceState()的有声视频继续玩?

What are the correct things to do in each of onCreate(), onPause(), onSaveInstanceState() and onRestoreInstanceState() to have the video continue playing?

感谢

推荐答案

变量

@SuppressLint("InlinedApi")
private static final int PORTRAIT_ORIENTATION = Build.VERSION.SDK_INT < 9
        ? ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
        : ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;

@SuppressLint("InlinedApi")
private static final int LANDSCAPE_ORIENTATION = Build.VERSION.SDK_INT < 9
        ? ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
        : ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;

private YouTubePlayer mPlayer = null;
private boolean mAutoRotation = false;

在OnCreate

OnCreate

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mAutoRotation = Settings.System.getInt(getContentResolver(),
            Settings.System.ACCELEROMETER_ROTATION, 0) == 1;
}

实施OnInitializedListener

Implement OnInitializedListener

@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player,
        boolean wasRestored) {
    mPlayer = player;
    player.setOnFullscreenListener(this);

    if (mAutoRotation) {
        player.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_CONTROL_ORIENTATION
                | YouTubePlayer.FULLSCREEN_FLAG_CONTROL_SYSTEM_UI
                | YouTubePlayer.FULLSCREEN_FLAG_ALWAYS_FULLSCREEN_IN_LANDSCAPE
                | YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT);
    } else {
        player.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_CONTROL_ORIENTATION
                | YouTubePlayer.FULLSCREEN_FLAG_CONTROL_SYSTEM_UI
                | YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT);
    }
}

Inplement onConfigurationChanged

Inplement onConfigurationChanged

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        if (mPlayer != null)
            mPlayer.setFullscreen(true);
    } 
    if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
        if (mPlayer != null)
            mPlayer.setFullscreen(false);
    }
}

@Override
public void onFullscreen(boolean fullsize) {
    if (fullsize) {
        setRequestedOrientation(LANDSCAPE_ORIENTATION);
    } else {
        setRequestedOrientation(PORTRAIT_ORIENTATION);
    }
}

Menifest

Menifest

 <activity
    android:name="com.sample.android.YouTubePlayerActivity"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:screenOrientation="sensor"
    android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
</activity>

我做它采用最新的YouTube API样本的活动。

I've made sample activity which uses most recent youtube api.

这源手柄定位问题媒体音量问题 YouTube网址解析问题

  1. 下面是Git项目的示例程序

  1. Here is git project for sample app

<一个href="https://github.com/TheFinestArtist/YouTubePlayerActivity">https://github.com/TheFinestArtist/YouTubePlayerActivity

我也做了示例应用程序,您可以下载

I also made sample app you can download

<一个href="https://play.google.com/store/apps/details?id=com.thefinestartist.ytpa.sample">https://play.google.com/store/apps/details?id=com.thefinestartist.ytpa.sample

这篇关于安卓的YouTube API第3版 - 方向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆