问题描述
我们已经使用YouTubeAndroidplayerApi播放视频已有一段时间了。该库的版本为1.2.2。我目前正在更新应用程序库并发布更新。该应用程序设置为targetSdk和compileSdk为28。
全屏启动播放器时,正在显示加载微调器。如果我删除该行,视频将按预期播放。
布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="center"
android:src="@drawable/logo"
tools:ignore="ContentDescription" />
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:theme="@style/FullScreenToolbarTheme"
android:layout_width="match_parent"
android:layout_height="?actionBarSize" />
</FrameLayout>
</com.google.android.material.appbar.AppBarLayout>
<LinearLayout
android:id="@+id/video_close_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|left"
android:layout_marginEnd="16dp"
android:layout_marginTop="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="@string/video_player_close"
android:textColor="#FFFFFF"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<fragment
android:name="com.google.android.youtube.player.YouTubePlayerFragment"
android:id="@+id/youtube_player_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:layout_gravity="center_vertical"
android:layout_weight="1" />
</LinearLayout>
VideoPlayerActivity:
/***
* initialize youtube player via Fragment
*/
private void initializeYouTubePlayer(String videoURL) {
youTubePlayerFragment = (YouTubePlayerFragment) getFragmentManager().findFragmentById(R.id.youtube_player_fragment);
if (youTubePlayerFragment == null)
return;
closeVideoButton.setonClickListener(v -> {
closeVideoPlayer();
});
String yt_api_key = getString(R.string.youtube_api_key);
youTubePlayerFragment.initialize(yt_api_key,new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider,YouTubePlayer player,boolean wasRestored) {
String videoID = getURLParameter(videoURL,"v");
youTubePlayer = player;
//set the player style default
youTubePlayer.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT);
if (!wasRestored) {
youTubePlayer.setFullscreen(true); // THIS LINE
youTubePlayer.loadVideo(videoID);
}
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider arg0,YouTubeInitializationResult arg1) {
//print or show error if initialization Failed
Log.e(TAG,"Youtube Player View initialization Failed");
}
});
}
当我注释掉youTubePlayer.setFullscreen(true);
行时,视频将加载。当我恢复此行时,全屏播放器启动,但是加载微调器不会消失。我已经尝试过this solution,但这也不起作用。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)