РАЗРАБОТКА ПРИЛОЖЕНИЙ ЕСТЕСТВЕННО ОГРАНИЧИВАЕТСЯ БОЛЬШОЙ
Включение необычного видеопроигрывателя «Картинка в картинке» для 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.
Выполнение
- Добавьте приведенный ниже фрагмент в свой
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, который я создал.
Поведение
Этот раздел предназначен для людей, интересующихся поведением, но они не хотели бы клонировать и создавать образец. Следует отметить несколько моментов, связанных с поведением:
- Если видео воспроизводится в приложении, вам просто нужно нажать кнопку «Домой», и оно запустится. Вам не нужно нажимать кнопку PIP.
- После воспроизведения в фоновом режиме вы можете просто временно скрыть видео, смахнув его вправо, и на экране появится стрелка.
- По умолчанию на экране есть только несколько мест, где вы можете закрепить видео, чтобы продолжить воспроизведение, из которых вы не можете изменить.
- Вы также можете запустить PIP в приложении, нажав значок PIP в верхнем левом углу элементов управления видео, который автоматически отображается в iOS.
- Это работает, поскольку мы используем ненастроенный AVPlayer для нашего видео, поэтому он может не работать с другими видеотеками.
- Для видеозвонков с PIP используется частный API, доступный только для FaceTime.