Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从RIFF字符串创建wav文件_C#_Wav - Fatal编程技术网

C# 从RIFF字符串创建wav文件

C# 从RIFF字符串创建wav文件,c#,wav,C#,Wav,我正在创建一个语音认证系统,因为我正在使用第三方API存储我的wav文件,当我调用GET时,它将返回RIFF格式编码的字符串作为响应 我想不出一种方法来将这个RIFF转换成wav文件 我尝试了下面的代码,它正在创建wav文件,但wav已被刷新: using (var response = await httpClient.GetAsync("")) { string responseData = await respons

我正在创建一个语音认证系统,因为我正在使用第三方API存储我的wav文件,当我调用GET时,它将返回RIFF格式编码的字符串作为响应

我想不出一种方法来将这个RIFF转换成wav文件

我尝试了下面的代码,它正在创建wav文件,但wav已被刷新:

using (var response = await httpClient.GetAsync(""))
                {

                    string responseData = await response.Content.ReadAsStringAsync();
                    using (BinaryWriter writer = new BinaryWriter(System.IO.File.Open(@"C:\wavFile.wav", FileMode.Create)))
                    {
                        byte[] data = System.Text.Encoding.UTF8.GetBytes(responseData);
                        writer.Write(data);
                    }
                }

我尝试了ASCII和UTF8,但结果相同。有人能帮忙吗?

您不应该将响应读作
字符串。wave文件是二进制数据,可能包含对字符串无效的字节序列

不需要转换就可以直接使用

using (var webClient = new WebClient())
{
    byte[] wave = webClient.DownloadData("...");
}

我正在调用第三方API,他们只发送了以“riffz wavemt”开头的RIFF大字符串作为响应,我不知道如何对其进行解码并将其转换为wav文件@ThomasWellerBang on:)你是对的:)这就是问题所在。谢谢