Как играть в Windows Phone 8 SpeechSynthesizer во время блокировки экрана?

У меня есть следующий код для синтеза текста в речь в приложении Windows Phone 8, однако я не могу понять, как заставить его непрерывно воспроизводиться во время блокировки экрана/выключения экрана/или в фоновом режиме. У кого-нибудь есть предложение или фрагмент кода о том, как это сделать?

SpeechSynthesizer synth = new SpeechSynthesizer();
await synth.SpeakTextAsync("Text to read during screen off/lock screen/background");

person Euthyphro    schedule 31.05.2015    source источник


Ответы (2)


Это всего лишь предложение, но почему бы вам просто не разрешить приложению запускать на экране блокировки.

В событиях Application_Launching и Application_Activated просто добавьте:

PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;
person Swift Sharp    schedule 01.06.2015

Я не думаю, что вы можете сделать это напрямую.

Вы можете сделать это, воспроизведя фоновый звук в своем приложении и используя SpeechSynthesizer.SetOutputToWaveFile, а затем запланировав его воспроизведение в фоновом режиме.

Тем не менее, вам все равно нужно каким-то образом поддерживать свое приложение в рабочем состоянии, так как WP захочет приостановить его работу, если только у вас не происходит что-то еще (например, отслеживание местоположения в фоновом режиме).

person Anthony Wieser    schedule 31.05.2015