ОК, я исправил это.
То, что я сделал, чтобы заставить его играть, похоже на это, сначала я установил трек для игрока:
BackgroundAudioPlayer.Instance.Track = ...;
Затем в фоновом агенте сработает событие OnPlayStateChanged
, где я вызываю метод BackgroundAudioPlayer.Instance.Play()
. Кажется, это прекрасно работает.
Но если фоновый проигрыватель уже используется другим приложением, PlayState
не изменится на TrackReady
, когда я установлю трек, и, следовательно, событие не сработает.
Чтобы это исправить, я просто вызываю метод .Play()
в основном потоке пользовательского интерфейса сразу после установки дорожки. И это работает.