У меня есть несколько AVPlayers
, каждый по отдельности UIViewControllers
играет разные песни.
Мне нужно приостановить один AVPlayer
всякий раз, когда я играю другой (в противном случае аудио перекрывается).
Я бы хотел, чтобы пользователь проходил через приложение, когда музыка воспроизводится в фоновом режиме, поэтому приостановка AVPlayer
на viewDidDisappear:(BOOL)animated
не будет работать.
Каков наилучший способ доступа к элементам управления каждого отдельного AVPlayer
?Несколько AVPlayers на отдельных UIViewControllers
ответ
По моему мнению, синглтон с 1 AVPlayer решает эту проблему хорошо. Таким образом, вы гарантируете, что для воспроизведения другой песни вам нужно остановить предыдущую. Затем в этом AVPLayerSingleton у вас есть частное свойство avPlayer. Можно определить два метода:
- (void)createPlayerWithSong:(NSString *)currentSong;
- (void)destroyPlayer
Тогда в вашем createPlayerWithSong вы можете проверить, если AVPlayer уже создан и уничтожить его и создать новый для каждой новой песни.
Не уничтожил бы AVPlayer, чтобы остановить меня от продолжения песни, где я остановился? Я хочу приостановить его, а не убить. – Rhotick
Да, было бы. Вы можете сэкономить время, в котором вы остановились, или больше AVPlayers. Однако я все же считаю, что синглтон - хороший вариант. –
Пар способов могли это сделать:
Созданием общего одноплодного объекта, которые имеют слабые свойства, которые ссылаются на каждый AVPlayer. Таким образом, вы можете управлять им из любого места.
ИЛИ
Использование NSNotificationCenter для отправки уведомлений, когда вы хотите управлять AVPlayer на другой контроллер представления. Это может стать громоздким, если у вас много AVPlayers, которым вы хотите управлять.
- 1. iPhone - несколько UIViewControllers Release
- 2. Несколько отношений UIViewControllers и UIViews
- 3. Swift - массив AVplayers?
- 4. Синхронизация нескольких AVPlayers
- 5. Загрузите два AVPlayers одним видео
- 6. Несколько AVPlayers в UIScrollView - только 16 из них показаны
- 7. Возможно ли использовать несколько AVPlayerLayers одновременно с различными AVPlayers?
- 8. Сколько AVPlayers разрешено создавать одновременно?
- 9. Сохранение двух AVPlayers в синхронизации
- 10. Повторное использование функции через несколько UIViewControllers
- 11. Буфер AVPlayers медленнее со временем
- 12. Добавить несколько пользовательских UIViewControllers в UIPageViewController
- 13. Несколько UIViewControllers в tvOS Storyboard Scene
- 14. Можно ли использовать несколько UIViewControllers в UIScrollView?
- 15. Несколько UIViewControllers внутри UIPageViewController в Swift
- 16. Какова наилучшая практика: несколько UIView или несколько UIViewControllers
- 17. SlideToggle несколько отдельных дивы
- 18. Добавить валидацию на несколько отдельных флажков
- 19. Попытка разделить строку на несколько отдельных категорий
- 20. Несколько отдельных всплывающих окон на одной странице
- 21. Неправильно ли использовать UIViewControllers в других UIViewControllers?
- 22. xcode создать uiviewcontrollers на лету
- 23. Несколько отдельных регулярных выражений
- 24. ВЫБЕРИТЕ несколько отдельных столбцов
- 25. UIViewControllers, Delegates
- 26. 2 AVPlayers, играющие в тот же файл
- 27. Как отрегулировать громкость 2 AVPlayers самостоятельно?
- 28. Изменение значения UIViewControllers self.navigationController?
- 29. GCD, очереди, влияющие на дочерние UIViewcontrollers, реентерабельные
- 30. Есть ли утечка в методе инициализации AVPlayers?
Это не совсем то, что вам нужно или нужно, но проверьте этот пример, он может дать некоторые рекомендации: http://stackoverflow.com/questions/9877110/objective-c-need-help-creating-an-avaudioplayer-singleton/9880450 # 9880450 –