我试图让我的后端提供.wav文件。当我尝试在Chrome中播放wav文件时,它只播放一次然后我需要重新加载页面或在音频元素上调用.load()。如果我在音频结束时按下播放按钮,我在Windows上试过的其他所有浏览器都会很高兴再次播放该文件。
我的代码很简单
public HttpResponseMessage Get()
{
var path = @"C:\path\a.wav";
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
var stream = new FileStream(path, FileMode.Open);
result.Content = new StreamContent(stream);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("audio/wav");
return result;
}
我的html页面
<audio id="audio1" controls>
<source src="api/audio" type="audio/wav">
</audio>
我可以使用python和chrome之类的其他方法提供同样的文件,但是当我从Web Api提供文件时它只会播放一次。我的Web Api托管在IIS中是否有一些需要更改的设置?
修改 所以我可以直接从IIS服务器文件,它工作正常。我可以一遍又一遍地播放文件。所以我现在的问题是Web Api。我需要从控制器提供文件以检查用户是否已登录并授权。
答案 0 :(得分:0)
我使用Nginx作为我的静态文件的后端解决了这个问题。我认为直接从IIS服务可能是一个坏主意。