我的任务是使用 .net ashx 通过网络浏览器向用户提供视频。
视频单独存储在同一服务器上的另一个驱动器中。F:\视频。我已经成功地让 wmv 视频工作,但似乎无法播放 mp4 格式。我尝试了多种上下文类型 - 视频/mpeg、视频/x-fla、视频/mp4。当我使用 video/x-ms-wmv 播放 wmv 文件时,Windows 媒体播放器会弹出并播放视频就好了。但是,有人告诉我我不能使用 wmv,因为并非我们所有的用户群都可以使用 Windows Media Player。
有人可以告诉我代码有什么遗漏/错误,以便我可以播放 mp4 视频吗?
在我的 web.config - 我有以下内容:
<urlMappings enabled="true">
<add url="~/Video.aspx" mappedUrl="~/VideoHandler.ashx"/>
</urlMappings>
我有一个带有超链接的 .aspx 文件,用于将用户定向到视频:
<asp:HyperLink ID="Hyperlink2" runat="server" NavigateUrl="~/Video.aspx?File=WRF" Target="_parent">WRF<asp:HyperLink>
我的 .ashx 文件具有以下内容:
public void ProcessRequest(HttpContext context)
{
string file = context.Request.QueryString["file"];
if (file != String.Empty)
{
context.Response.ContentType = "video/mp4";
switch (file)
{
case "WRF":
context.Response.WriteFile("f:\\Videos\\WRF.mp4");
break;
case "INTRO":
context.Response.WriteFile("f:\\Videos\\Intro.mp4");
break;
}
}
else
{
context.Response.ContentType = "text/plain";
context.Response.Write("No file requested");
}
}