0

HttpClient で Web サービスにアクセスし、音声データが含まれているはずの応答を取得します (Voice RSS と呼ばれる TTS Web サービスです)。

私はこのように進みます:

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 を使用し、そのソースをストリームに設定してから「再生」メソッドを呼び出す必要があることを見ましたが、うまくいきません。他の人は、ストリームを読み取れるように StreamReader を作成する必要があると言っています...

私の目標は、応答に含まれるサウンド ( mp3 、 wav など) を再生することです。

MediaElement 、 IRandomAccessStream 、 IIOStream などを作成する必要があるかどうかはわかりません。

私が抱えている同じ問題を見つけたことがないので、私はとても混乱しています。

もしよろしければ、私を助けてください。

前もって感謝します。

--

明馬

4

1 に答える 1

0

このブログ投稿を確認してください: バイト配列を 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();
}

MEMediaElementXAML コードのどこにありますか:

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

PS。さらに検索した結果、 Windows 8.1 で拡張メソッドが追加され、次のことができるようになると BCL 開発者が言っていることがわかりました。

ME.SetSource(content.AsRandomAccessStream(), "");
于 2013-07-22T16:27:32.047 に答える