Как остановить фоновый звук, воспроизводимый другими приложениями? - PullRequest
1 голос
/ 17 декабря 2011

У меня есть приложение для WP7, использующее BackgroundAudioPlayer, поскольку нам нужно играть в фоновом режиме. Проблема в том, что когда уже есть приложение, воспроизводящее звук в фоновом режиме, я не могу заставить работать AudioPlaybackAgent, предыдущая музыка просто продолжает играть.

Документ, представленный таким образом,

BackgroundAudioPlayer.Instance.Close();

, с помощью которого я могу закрыть только звук, воспроизводимый мной или Zune, но он не работает, когда звук воспроизводится другими приложениями.

Так есть ли способ закрыть все воспроизводимое аудио?

1 Ответ

1 голос
/ 18 декабря 2011

ОК, я исправил это.

То, что я сделал, чтобы заставить его играть, похоже на это, сначала я установил трек для игрока:

BackgroundAudioPlayer.Instance.Track = ...;

Затем в фоновом агенте сработает событие OnPlayStateChanged, где я вызываю метод BackgroundAudioPlayer.Instance.Play(). Кажется, это прекрасно работает.

Но если фоновый проигрыватель уже используется другим приложением, PlayState не изменится на TrackReady, когда я установлю трек, и, следовательно, событие не сработает.

Чтобы это исправить, я просто вызываю метод .Play() в основном потоке пользовательского интерфейса сразу после установки дорожки. И это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...