0

Я обращаюсь к веб-службе HttpClient и получаю ответ, который должен содержать аудиоданные (это веб-служба TTS под названием Voice RSS).Получение аудиоданных из httpResponse в приложении metro

Я исхожу таким образом:

response = await httpClient.GetAsync("http://api.voicerss.org?key=97a912d2574c4538afbf0919ad1f5402&hl=fr-fr&src=hello"); 

Тогда я взять содержание ответа:

content = response.Content; 

stream = content.ReadAsStreamAsync(); 

result = stream.Result; 

Тогда я действительно стесняется для отдыха: Я видел на многих форумах, что я должен использовать MediaElement и установите источник для потока, затем вызовите метод «play», но он не работает для меня. Другие говорят, что я должен создать StreamReader, чтобы читать поток ...

Моя цель - воспроизвести звук, содержащийся в отклике (который может быть mp3, wav и т. Д.).

Я не знаю, нужно ли создавать MediaElement, IRandomAccessStream, IIOStream или что-то еще.

Я так смущен, потому что никогда не нашел ту же проблему, что и я.

Если бы вы могли мне помочь.

Заранее спасибо.

-

Meima

ответ

0

Проверить этот блог: How to Convert byte Array to IRandomAccessStream

Он реализован class MemoryRandomAccessStream : IRandomAccessStream

Таким образом, вы можете использовать его, вот мой рабочий код:

private async void Button_Click(object sender, RoutedEventArgs e) 
{ 
    var httpClient = new HttpClient(); 
    var response = await httpClient.GetAsync("http://api.voicerss.org?key=97a912d2574c4538afbf0919ad1f5402&hl=fr-fr&src=hello"); 
    var content = await response.Content.ReadAsStreamAsync(); 
    ME.SetSource(new MemoryRandomAccessStream(content), ""); 
    ME.Play(); 
} 

, где ME в коде XAML MediaElement:

<MediaElement x:Name="ME" ../> 

PS. После некоторого поиска, я обнаружил, что a BCL developer said that an extension method will be added in Windows 8.1 для совершения звонка

ME.SetSource(content.AsRandomAccessStream(), ""); 
+0

Hello! Ты просто сделал мой день !!!! Большое спасибо, теперь это работает :) Я скоро перейду к Windows 8.1, надеюсь, они добавят это расширение как и для других функций (например, речевого синтезатора, которого сейчас нет) – Meima

+0

приветствуется :) – Diryboy