我需要在 ASP MVC 4 网站上使用 HTML5 视频标签(如果支持)或 JW Player 播放视频。现在我使用 WCF REST 方法通过以下方式访问视频文件:
[OperationContract]
[WebInvoke(ResponseFormat = WebMessageFormat.Json, Method = "GET")]
public Stream Download(string id, bool isTemp)
{
//File.OpenRead(path) works inside FileBlo.Fownload
Stream download = FileInfoBlo.Download(id, isTemp);
if (WebOperationContext.Current != null)
{
//Specifing any other mime type doesn't help
WebOperationContext.Current.OutgoingResponse.ContentType = "video/*";
}
return download;
}
所以文件的链接就像
http://localhost/app-api/Apiservice.svc/download?id=8&isTemp=false
问题是:
1. HTML5 播放 - 只有 Chrome 可以播放视频,但不能做任何其他事情 - 停止、再次播放、搜索等。其他浏览器根本不播放。仅使用指向文件的链接访问文件时,例如
“http://localhost/app/file.mp4”
它可以播放。
2. JW 播放器播放 - 发生错误 -
错误询问队列在第 5 步失败:无法加载播放列表:播放列表文件不包含有效的播放列表
访问带有链接的文件时(如上所示) - 它至少可以播放。
据我了解,这种“wcf 流”不适合视频播放。可能WCF在这里根本不是一个选择吗?因此,任何有关 IIS(7+ / Server 2008)的正确视频流的帮助和建议\示例都将受到极大的欢迎。
谢谢。