Biến
@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
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mAutoRotation = Settings.System.getInt(getContentResolver(),
Settings.System.ACCELEROMETER_ROTATION, 0) == 1;
}
Thực hiện 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
@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
<activity
android:name="com.sample.android.YouTubePlayerActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="sensor"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
</activity>
Tôi đã thực hiện hoạt động mẫu trong đó sử dụng api youtube gần đây nhất.
nguồn này xử lý "Hướng Vấn đề", "Truyền thông Tập Vấn đề", "Youtube Url Parsing Vấn đề"
Đây là dự án git cho ứng dụng mẫu
https://github.com/TheFinestArtist/YouTubePlayerActivity
Tôi cũng đã tạo mẫu ứng dụng mà bạn có thể tải xuống
https://play.google.com/store/apps/details?id=com.thefinestartist.ytpa.sample
Nguồn
2013-05-09 05:09:57
Tự tìm ra - lỗi là tôi đã không khởi chạy YouTubePlayerView trong onCreate() khi onCreate() được gọi trong quá trình khôi phục chứ không phải là tạo rõ ràng. Tất cả cố định .. – milleph