使用c#处理器提供wav文件会缩短音频(仅几秒钟)

使用c#处理器提供wav文件会缩短音频(仅几秒钟),c#,asp.net,handler,wav,C#,Asp.net,Handler,Wav,我有一个c#处理程序,它提供我使用文本到语音生成的音频文件。当文件写入磁盘时,它们听起来很好,但当我尝试使用quicktime插件(通过处理程序)在浏览器中播放它们时,它会在大约2秒的时间内将它们缩短 在处理程序中,我使用以下代码 context.Response.ClearContent(); context.Response.ClearHeaders(); context.Response.ContentType = "audio/x-wav"; context.Response.Writ

我有一个c#处理程序,它提供我使用文本到语音生成的音频文件。当文件写入磁盘时,它们听起来很好,但当我尝试使用quicktime插件(通过处理程序)在浏览器中播放它们时,它会在大约2秒的时间内将它们缩短

在处理程序中,我使用以下代码

context.Response.ClearContent();
context.Response.ClearHeaders();
context.Response.ContentType = "audio/x-wav";

context.Response.WriteFile(fileName);
context.Response.Flush();

有人知道我做错了什么吗?

您应该尝试将文件作为二进制数据直接写入输出流

context.Response.ClearContent();
context.Response.ClearHeaders();
context.Response.ContentType = "audio/x-wav";
byte[] byteArray = File.ReadAllBytes(fileName);
context.Response.OutputStream.Write(byteArray, 0, byteArray.Length);

嗨,谢谢你的建议。我刚刚试过这个,得到了同样的结果。真奇怪!不确定还要尝试什么。请尝试从其他环境调用处理程序,而不是使用quicktime插件的浏览器。也许是某种下载管理器。看看你是否得到了整个文件。它通过从URL调用音频文件在VLC播放器中工作。我想问题是Quicktime会要求查找字节数,所以我可能需要将其包含在OutputStream中。编写调用并获取开始字节。顺便感谢您的回答。这让我找到了正确的方向。