Вам нужно переместить логику вокруг того, какие дорожки воспроизводить в агент (или в библиотеку, которую может использовать агент). Это необходимо, так как агент должен работать без ошибок, даже если приложение не запущено.
Единственный способ отследить, что происходит в агенте из вашего приложения, - подписаться на событие BackgroundAudioPlayer.Instance.PlayStateChanged
. Это будет срабатывать при использовании универсальных элементов управления.
Как вы заметили, это значительно ограничивает объем информации, которую вы можете включить в приложение (например, по сравнению с MediaElement).
Важно Будьте осторожны, чтобы любая логика, которую вы перемещаете в агент (или библиотеку, на которую ссылается агент), не использовала какой-либо из API-интерфейсов с ограничениями , даже если они находятся в сборка, на которую ссылается агент и которая не используется, статический анализ агента, выполненный по сертификации на рынке, приведет к сбою.