バックグラウンドオーディオの再生中にWindowsPhone8の音声合成装置を再生したい。しかし、毎回、Speech Synthesizerをアクティブにすると、バックグラウンドオーディオの再生が停止し、シンセサイザーが終了すると再開します。
助言がありますか?ありがとう。
以下のいくつかのコードスニペット:バックグラウンドオーディオ: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");
}