При применении режима «Картинка в картинке» к просмотру в проигрывателе YouTube и во время запуска приложения, когда я вхожу в режим «Картинка в картинке», воспроизведение видео в проигрывателе YouTube приостанавливается, а кнопка воспроизведения не может быть нажата из-за собственного макета PiP. Как я могу продолжать воспроизведение видео при входе в режим PiP с того же текущего времени?
Вот мой код: -
`public class Video extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {
YouTubePlayerView playerView;
YouTubePlayer.OnInitializedListener onInitializedListener;
Button pip_button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
pip_button = findViewById(R.id.pip_button);
pip_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (android.os.Build.VERSION.SDK_INT >= 26) {
//Trigger PiP mode
try {
Rational rational = new Rational(playerView.getWidth(), playerView.getHeight());
PictureInPictureParams mParams =
new PictureInPictureParams.Builder()
.setAspectRatio(rational)
.build();
enterPictureInPictureMode(mParams);
} catch (IllegalStateException e) {
e.printStackTrace();
}
} else {
Toast.makeText(Video.this, "API 26 needed to perform PiP", Toast.LENGTH_SHORT).show();
}
}
});
playerView = findViewById(R.id.playerview);
playerView.initialize("api_key", this);
}
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
youTubePlayer.cueVideo(videoID);
youTubePlayer.play();
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
Toast.makeText(this, "Something Went Wrong! Please Try Again!", Toast.LENGTH_LONG).show();
}
@Override
public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode, Configuration newConfig) {
onInitializedListener = new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
youTubePlayer.cueVideo(videoID);
youTubePlayer.pause();
youTubePlayer.play();
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
}
};
}