Я потратил на это два дня и никуда не попал.Я пытаюсь использовать [MPMusicPlayerController applicationMusicPlayer] для воспроизведения аудио, выбранного из пользовательской библиотеки iPod, и запуска его в фоновом режиме, а также для поддержки удаленных событий.Теперь получить музыку на самом деле легко.Получить экземпляр, выбрать песни, назначить музыкальную очередь и играть.Сделано и сделано.НО ... а) я не могу заставить его играть в фоновом режиме, и б) даже когда на переднем плане я не могу заставить события пульта ДУ работать вообще!
И прежде чем вы спроситеда, я установил записи plist, категорию аудио сеанса, вызов, чтобы сказать, что я заинтересован в получении удаленных событий, и настроил первого респондента, чтобы прослушивать их, поэтому, пожалуйста, знайте, да, я прочитал, прочитал каждыйодин документ на эту тему, который я мог бы найти * (* задача, которую я обвиняю в Apple за то, что она не совсем ясна по этой теме, и не имеет ЛЮБОГО примера кода для нее!), и я просмотрел все видео WWDC, касающиесяэто (даже замораживание экрана для точного копирования кода из их примера ...), поэтому, если я не пропустил что-то , отсутствующее в этом списке , ответ любым из этих ответов не поможет.
Еще одна вещь ... Я говорю об использовании MPMusicPlayerController, который, согласно документации, никогда не использует сеанс приложения.Он всегда использует системный сеанс.(Возможно, это само по себе отвечает на мой вопрос, но в документах нет четкого ответа на этот вопрос, поэтому я не уверен, поэтому этот вопрос.)
Тем не менее, через два дня мои мысли таковы:
При использовании MPMusicPlayerController, независимо от того, какие методы вы вызываете или какие записи plist вы устанавливаете, ваше приложение никогда не будет работать в фоновом режиме.Период.Если вы используете экземпляр ipodMusicPlayer, музыка продолжает воспроизводиться, но это потому, что проигрывает iPod, а не ваше приложение.Если вместо этого вы используете экземпляр applicationMusicPlayer, то при переходе в фоновый режим ваша музыка останавливается.В обоих случаях ваше приложение приостанавливается.
Независимо от того, используете ли вы экземпляры ipodMusicPlayer или applicationMusicPlayer, все удаленные события отправляются в само приложение iPod, а не в ваше, даже если вы явно указалипопросил их.Если вы используете экземпляр applicationMusicPlayer и используете пульт ДУ для выбора «Воспроизвести», приложение iPod получает команду, поэтому звук отключается и прерывается, и начинается воспроизведение в приложении iPod.Если вы выбрали вместо этого ipodMusicPlayer, то, конечно, это не имеет значения, поскольку вы прямо сказали, что в основном просто заинтересованы в удаленном управлении приложением iPod, которое опять-таки является тем, что фактически принимает удаленные события.
Значок в элементах управления быстрым переключением внизу никогда не меняется на значок вашего приложения, потому что опять-таки ваше приложение фактически никогда не настроено на получение событий.Приложение для iPod есть, поэтому его значок там появляется.
Итак, что я хочу знать, так это ... я здесь не прав?Кто-нибудь успешно смог использовать MPMusicPlayerController и смог перехватить удаленные события?Хотя я бы предпочел использовать applicationMusicPlayer с поддержкой фоновой музыки, чтобы не гадить с iPod пользователя, важнее уведомления удаленного управления, то есть, если мне нужно использовать ipodMusicControl и держать свое приложение на переднем плане, чтобы перехватывать этисообщения, пусть будет так.Это ужасно, но, по крайней мере, это что-то.
Примеры кода или хотя бы явные шаги по отношению к одному из встроенных шаблонов приложений будут с благодарностью приняты.(Реализация даже не нужна ... только шаги. Надеюсь, это успокоит неизбежную вещь «Все еще под NDA», с которой люди продолжают отвечать на вопросы.)
Mark