Вопрос:
Я использую API YouTube для Android. Видео воспроизводится нормально, но когда я поворачиваю экран, плеер останавливает видео, и он возвращается с самого начала, как если бы он не воспроизводился. То же самое происходит при прокрутке экрана и скрытии проигрывателя. Я много исследовал и также проверил некоторые вещи, которые я нашел, но ничего не получилось = (
Так я объявил свой класс:
public class PlayerTest extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {
Это то, что я вложил в onCreate():
YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view); youTubeView.initialize(DEVELOPER_KEY, this);
и это методы, которые я реализую:
@Override public void onInitializationFailure(Provider provider, YouTubeInitializationResult error) { Toast.makeText(this, «Error 🙁 » + error.toString(), Toast.LENGTH_LONG) .show(); } @Override public void onInitializationSuccess(Provider provider, YouTubePlayer player, boolean wasRestored) { player.cueVideo(video); }
Вопрос:
Я хочу, чтобы видео продолжало воспроизводиться во время прокрутки или переворота экрана. Это возможно?
Я реализую правильный путь? Если нет, то какой будет лучший способ?
Заранее спасибо за помощь!
Лучший ответ:
Когда вы переворачиваете экран, действие, которое воспроизводило видео, уничтожается, а новое действие создается со всем reset. Его особенность, а не ошибка.:)
Существует несколько способов борьбы с этим; вам, вероятно, придется сэкономить некоторое состояние, а затем проверить любые сохраненные данные, когда будет создано какое-либо новое действие, управлять данными и т.д. Проверьте: Сохранение просмотра/размещения данных в Android после повернуть вращение/активность экрана.
Ответ №1
Что мне удалось добавить:
android:configChanges=»keyboardHidden|orientation|screenSize»
для вашего манифеста Android.
Приветствия..
Ответ №2<activity android:label=»YoursActivityName» android:configChanges=»keyboardHidden|orientation|screenSize» android:name=»com.example.naren.YoursActivityName» />
Добавьте его в свой файл манифеста.
Ответ №3
Существует один подход, позволяющий воспроизводить видео без пауз во время вращения устройства. Ознакомьтесь с YouTubeStandalonePlayer createVideoIntent() API с параметром ‘lightboxMode’, установленным в true.
Если для него установлено значение true, оно воспроизводит видео в диалоговом окне над текущим действием и не приостанавливается во время вращения устройства.
Ответ №4
добавить player.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT)
override fun onInitializationSuccess(provider: YouTubePlayer.Provider, player: YouTubePlayer, wasRestored: Boolean) { player.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT) if (!wasRestored) { player.loadVideo(videoId) } }
документ
avoiding the rebuffering that occurs in the default fullscreen behavior