C# ASP.NET MVC:来自SQL Server的视频流
我试图检索存储在SQLServer数据库中的FLV视频,并使用JWplayer插件显示它。 当我运行时,出现以下错误: 任务队列在步骤5失败播放列表文件不包含有效的 播放列表 我的代码:C# ASP.NET MVC:来自SQL Server的视频流,c#,asp.net-mvc,jwplayer,C#,Asp.net Mvc,Jwplayer,我试图检索存储在SQLServer数据库中的FLV视频,并使用JWplayer插件显示它。 当我运行时,出现以下错误: 任务队列在步骤5失败播放列表文件不包含有效的 播放列表 我的代码: [AcceptVerbs(HttpVerbs.Get)] public ActionResult GetVideo(int id) { byte[] contents =_contentAssestTask.GetItem(id).FileContent;
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult GetVideo(int id)
{
byte[] contents =_contentAssestTask.GetItem(id).FileContent;
var ms = new MemoryStream();
ms.Write(contents, 0, contents.Length);
ms.Position = 0;
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetLastModified(DateTime.Now);
Response.AppendHeader("Content-Type", "video/x-flv");
Response.AppendHeader("Content-Length", contents.Length.ToString());
return new FileStreamResult(ms, "video/x-flv");
}
和视图包含:
<script type="text/javascript" src="@Url.Content("~/Scripts/jwplayer.js")"> </script>
<div id='mediaplayer'></div>
<script type="text/javascript">
jwplayer('mediaplayer').setup({
'flashplayer': '@Url.Content("~/Content/Video/player.swf")',
'id': 'playerID',
'width': '480',
'height': '270',
'file': '@Url.Action("GetVideo","MultiMedia",new {id=2})',
'image': '',
'plugins': {
'viral-2': {
'onpause': 'false',
'callout': 'none'
}
}
});
</script>
你必须准备好
id:“玩家id”,
键入:“mp4”,为什么不使用FileContentResult而不是FileStreamResult?这样可以避免将缓冲区写入流。另外,请使用FileContent方法而不是FileContentResult类。