【问题标题】:ASP.NET MVC application, HTML video does not workASP.NET MVC 应用程序,HTML 视频不起作用
【发布时间】:2020-04-22 23:02:42
【问题描述】:

我遇到过这个问题: 我刚开始学习 ASP.NET,创建了一个简单的应用程序,我需要在其中一个页面上播放视频,这是 cshtml 中的代码:

@{
    ViewBag.Title = "Player";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
    <video width="1020" height="780" controls="controls">
        <source src="file:///E:/Video/ActCAM/test2.mp4" type="video/mp4"/>
    </video>
<h2>Player</h2>

不幸的是,我看到的只是一个黑盒子,上面有一些不起作用的控件,而不是视频。 (我发现了一个类似的问题 html5 video is not playing mp4 error "Invalid Source"? ,但这对我不起作用) 我在本地 PC 上指定了一个文件仅用于测试,Web 应用程序也在本地计算机上运行。但是,如果我将"file:///E:/Video/ActCAM/test2.mp4" type="video/mp4" 更改为:http://techslides.com/demos/sample-videos/small.mp4(这只是在互联网上找到的免费视频示例),它可以正常工作。此外,如果我只使用以下代码创建一个简单的 HTML 文件:

<video width="1020" height="780" controls="controls">
        <source src="file:///E:/Video/ActCAM/test2.mp4" type="video/mp4"/>
    </video>

它工作正常。 请帮帮我!

【问题讨论】:

  • 从网络服务器提供网页时,您不能使用file:// URI,即使它是localhost。当直接从磁盘打开网页时,您可以使用file:// URI。

标签: c# html asp.net web video


【解决方案1】:

我猜它在本地运行完美,因为在这种情况下,您的浏览器和服务器在同一台机器上。因此,路径 file:///E:/​​Video/ActCAM/test2.mp4 可以正常工作。

但是,当您在真实的 Web 服务器中发布应用程序时,浏览器应该可以访问此路径。因此,视频文件应该有一个使用 http 或 https 协议的有效 URL。

因此,一旦应用发布,前端的视频(和其他媒体类型)路径不应是物理路径,而是虚拟路径 (mydomain.com/video/myVideo.mp4)

【讨论】:

    【解决方案2】:

    我已经找到问题的原因了,非常感谢@Dai 和@Alexandre F. Malavasi Cardoso! 我唯一需要做的就是将file:///E:/Video/ActCAM/test2.mp4 更改为~/Content/Video/test2.mp4 并将文件传输到该目录

    【讨论】:

      猜你喜欢
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 2015-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多