如何解决asp.net中播放视频的问题

Posted

技术标签:

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

大家好!

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

<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<video src='<%# GetVideoPlayUrl(Eval("id")) %>'   
 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`

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

谢谢

【问题讨论】:

检查这个:***.com/questions/10424729/… 我试试看不工作请看看我的代码.. 【参考方案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,它对我解决问题真的很有帮助,现在一切正常 =)

以上是关于如何解决asp.net中播放视频的问题的主要内容,如果未能解决你的问题,请参考以下文章

asp.net中,在不播放视频的情况下如何获得视频长度

如何通过 Youtube API 在 asp.net 中获取用户视频列表

在 ASP.NET 中上传流和播放视频

如何在 asp.net mvc 项目中添加 .mp3 或 .wav 文件?

如何解决错误:Asp.Net 请求中出现意外的令牌“<”?

Windows/Android/iOS平台视频播放器EasyPlayerEasyPlayer.js调用中无法播放H265视频流如何解决?