前提・実現したいこと
c#にて、web APIをたたいて、音声合成されたファイル(.wav)を取得したいです。
下記のコードを書いてみたのですが、1kb程度のファイルが作成されるだけで、
しかもファイルが破損しているため、windows media playerでは再生できません。
レスポンスをうまくファイルに流し込めていないのだと思いますが、どこがおかしいでしょうか。
どのように記述したらよいか、ご教授ください。
.NETのバージョンは4.7です。
ちなみに、ターミナルからcurlコマンドで下記のようにうつと、
正常なファイルが得られ、再生もできます。
curl https://hogehoge \ -H "Authorization: accessToken" \ -d key1=hello \ -d key2=aaa \ -d key3=bbb > test.wav
よろしくお願いします。
該当のソースコード
c#
1 using (var httpClient = new HttpClient()) 2 { 3 using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://hogehoge")) 4 { 5 request.Headers.TryAddWithoutValidation("Authorization", accessToken); 6 var contentList = new List<string>(); 7 contentList.Add("key1=hello"); 8 contentList.Add("key2=aaa"); 9 contentList.Add("key3=bbb"); 10 request.Content = new StringContent(string.Join("&", contentList), Encoding.UTF8, "application/x-www-form-urlencoded"); 11 var response = await httpClient.SendAsync(request); 12 using (var fileStream = System.IO.File.Create("test.wav")) 13 { 14 using (var httpStream = await response.Content.ReadAsStreamAsync()) 15 { 16 httpStream.CopyTo(fileStream); 17 fileStream.Flush(); 18 } 19 } 20 } 21 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。