Using a c# handler to serve up wav files cuts audi

2019-08-12 02:50发布

问题:

I've got a c# handler that serves up audio files I've generated using text-to-speech. When the files are written to disk they sound fine, but when I try and play them in a browser (via the handler) using a quicktime plugin it cuts them short at about 2 seconds.

Inside the handler I'm using the following code...

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

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

Anyone know what I'm doing wrong?

回答1:

You should try writing the file as binary data directly to the OutputStream

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);