0

我遇到过这个问题:我刚开始学习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-application 也在运行本地机器。但是,如果我更改"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>

它工作正常。请帮我!

4

2 回答 2

0

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

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

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

于 2020-01-04T20:35:47.637 回答
0

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

于 2020-01-04T21:02:27.050 回答