我想在播放背景音频时播放 Windows Phone 8 的语音合成器。但每次,我激活语音合成器,背景音频停止播放,并在合成器完成后恢复。
有什么建议么?谢谢。
下面的一些代码片段: 背景音频:在 C++ 中使用 IMFMediaEngine,播放成功。
Microsoft::WRL::ComPtr<IMFMediaEngine> m_mediaEngine;
m_mediaEngine->Play();
在 C#/XAML 中,我有一个带有按钮的 XAML 页面,当我单击它时,它会从 WP8 的最新语音类中播放。播放文本。
using Windows.Phone.Speech.Synthesis;
public async void SpeakText(string text)
{
SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer();
await speechSynthesizer.SpeakTextAsync(text);
}
我尝试将 SpeakTextAsync 通过线程,但我想我做错了,因为我仍然无法同时播放两个音频。
private void bubble_Click(object sender, RoutedEventArgs e)
{
App.Manager.SpeakText("hello how are you");
// TRY 1: plays text only, background doesn't play
//new Thread(() =>
//{
// App.Manager.SpeakText(chinese);
//}).Start();
// TRY 2: plays text only, background doesn't play
//Deployment.Current.Dispatcher.BeginInvoke(() =>
//{
// App.Manager.SpeakText(chinese);
//});
// TRY 3: plays text only, background doesn't play
//ThreadPool.QueueUserWorkItem(new WaitCallback(SpeakTextProc));
}
private void SpeakTextProc(Object stateInfo)
{
App.Manager.SpeakText("Hello how are you");
}