【问题标题】:How to solve playing video issue in asp.net如何解决asp.net中播放视频的问题
【发布时间】:2013-08-04 19:13:57
【问题描述】:

大家好!

我在网络视频播放器的运行时根据视频路径播放视频时遇到问题。有一个ASP代码:

<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<video src='<%# GetVideoPlayUrl(Eval("id")) %>' width="900" height="400" 
 controls="" preload=""></video>
</ItemTemplate>
</asp:Repeater>

我在数据库中有一个视频路径,它保存在数据库中,像这样~\StoreVideo\VQOFY.mp4

protected string GetVideoPlayUrl(object Id)
{
        int id = Convert.ToInt32(Id);
        string ret = "";
        ret = "" + VideoUploads.GetVideoPath(id) + "";
        return ret; I'm return value `~\StoreVideo\VQOFY.mp4`
}

视频没有在播放器中上传我也试过这个

protected string GetVideoPlayUrl(object Id)
{
        int id = Convert.ToInt32(Id);
        string ret = "";
        ret = "" + VideoUploads.GetVideoPath(id).Replace("~\\","").Replace("\\","/") + "";
        return ret; I'm return value `StoreVideo/VQOFY.mp4`
}

仍然无法正常工作,我不知道我在哪里做错了我真的需要帮助解决这个问题。知道我在这里做错了什么。请用我的代码纠正我的错误。希望有朋友可以为我提供解决方案。

谢谢

【问题讨论】:

标签: asp.net c#-4.0 video repeater


【解决方案1】:

以 ~/ 开头的 URL 应该在客户端使用它们之前“解析”(&lt;video&gt; 元素是客户端 HTML 元素,它不知道服务器上的 ASP.NET)。在src 属性中尝试以下代码:

<%# ResolveUrl(GetVideoPlayUrl(Eval("id"))) %>

如果您从GetVideoPlayUrl(id) 方法返回"~/videos/some-video.mp4",那么对ResolveUrl() 的调用将“翻译”为"../../videos/some-video.mp4""videos/some-video.mp4"。这完全取决于当前页面相对于文件位置的位置。

您应该在最终的 HTML 中检查从 ASPX 页面到视频文件的(相对)路径现在是否正确。

【讨论】:

  • 你好 Michielvo 我尝试了这个,但仍然是同样的问题,还有一个问题是中继器使用我检查手动添加的视频标签 src='StoreVideo/3SS6G.mp4' 工作但当我使用中继器,然后视频无法上传。我现在不知道该怎么办。
  • 非常感谢 Michielvo,它对我解决问题真的很有帮助,现在一切正常 =)
猜你喜欢
  • 2022-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多