1

我的任务是使用 .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");
    }
}
4

1 回答 1

0

哇,去哪里找...

您需要将您自己和您的代码仅仅视为一个盘子,您在其上提供要在播放器中播放的视频文件。

这里最重要的问题是:您的 MP4 视频的真正格式是什么?ContentType 或文件扩展名不会告诉我们有关编码的任何信息。

您的用户群很可能无法播放您的特定视频剪辑。

那么……发生了什么事?弹出什么,是否抛出错误?

于 2013-07-23T14:41:35.527 回答