РАЗРАБОТКА ПРИЛОЖЕНИЙ ЕСТЕСТВЕННО ОГРАНИЧИВАЕТСЯ БОЛЬШОЙ

Включение необычного видеопроигрывателя «Картинка в картинке» для iOS на Xamarin

Apple упростила реализацию PIP в iOS 14

Картинка в картинке (PIP) была представлена ​​много лет назад в iOS 9, но была доступна только для iPad. Недавно он появился на iPhone в iOS 14, поэтому я хотел реализовать его в своем приложении. Документы iOS 9 показали, что для реализации этого требовалось несколько шагов, и мне было трудно интегрировать это с Xamarin Forms. Однако, пока я экспериментировал, я понял, что Apple внесла изменения, чтобы значительно упростить реализацию PIP, поэтому эти шаги больше не нужны. В этой статье предполагается, что вы уже следовали руководству Microsoft по Xamarin Video Player, чтобы реализовать простой видеопроигрыватель iOS в своем приложении, и в нем описаны только шаги по включению PIP.

Выполнение

  1. Добавьте приведенный ниже фрагмент в свой AppDelegate FinishedLaunching() над своим return заявлением. Убедитесь, что вы используете правильный AVAudioSessionCategory, потому что контроллер PIP исчезает в зависимости от категории:
var audioSession = AVAudioSession.SharedInstance();
NSError nSError = new NSError();
audioSession.SetCategory(AVAudioSessionCategory.Playback);
audioSession.SetActive(true, AVAudioSessionSetActiveOptions.NotifyOthersOnDeactivation, out nSError);

2. Затем перейдите в свой Info.plist и на вкладке приложения выберите «Включить фоновые режимы» и установите флажок «Изображение в режиме изображения», и это автоматически добавит требуемый ключ на вкладку «Источник».

Et ставит вуаля! После того, как вы выполните эти 2 коротких шага, просто создайте приложение на своем телефоне, воспроизведите видео и нажмите кнопку Домой. Ваше видео превратится в красивое изображение PIP! Вы также можете проверить это, используя образец репозитория GitHub, который я создал.

Поведение

Этот раздел предназначен для людей, интересующихся поведением, но они не хотели бы клонировать и создавать образец. Следует отметить несколько моментов, связанных с поведением:

  1. Если видео воспроизводится в приложении, вам просто нужно нажать кнопку «Домой», и оно запустится. Вам не нужно нажимать кнопку PIP.
  2. После воспроизведения в фоновом режиме вы можете просто временно скрыть видео, смахнув его вправо, и на экране появится стрелка.
  3. По умолчанию на экране есть только несколько мест, где вы можете закрепить видео, чтобы продолжить воспроизведение, из которых вы не можете изменить.
  4. Вы также можете запустить PIP в приложении, нажав значок PIP в верхнем левом углу элементов управления видео, который автоматически отображается в iOS.
  5. Это работает, поскольку мы используем ненастроенный AVPlayer для нашего видео, поэтому он может не работать с другими видеотеками.
  6. Для видеозвонков с PIP используется частный API, доступный только для FaceTime.