这是一个奇怪的人,对我这么光鲜。
我一直在玩Video.js并且遇到了提供示例的问题。
使用html5视频元素指定MP4(h264)视频时,会有一些混乱。
当我使用(绝对)时:
<source src="C:\<filsystempath>\Media\oceans-clip.mp4" type='video/mp4' />
显示视频,没问题。但是当我使用:
<source src="@Url.Content("~/Media/oceans-clip.mp4")" type='video/mp4' />
视频未显示。我会得出结论,使用相对路径是问题但是当使用像这样的ogv视频时:
<source src="@Url.Content("~/Media/oceans-clip.ogv")" type='video/ogg' />
工作正常。
再一次烦恼 - 当视频用于闪回后退时,它可以正常工作。
我正在使用ASP.MVC和video.js。我正在使用localhost进行调试。
完整视频标记 -
<video id="example_video_1" class="video-js vjs-default-skin"
controls preload="auto" width="640" height="264"
poster="http://video-js.zencoder.com/oceans-clip.png"
data-setup='{"example_option":true}'>
<source src="@Url.Content("~/Media/oceans-clip.ogv")" type='video/ogg' /> -- Works
<source src="C:\<filesystempath>\oceans-clip.mp4" type='video/mp4' /> -- Works
<source src="@Url.Content("~/Media/oceans-clip.mp4")" type='video/mp4' /> -- Doesn't work
<source src="http://video-js.zencoder.com/oceans-clip.webm" type='video/webm' />
</video>
问题是 - 为什么视频会播放绝对路径而不是相对路径?
谢谢:)
答案 0 :(得分:1)
因为此<source src="@Url.Content("~/Media/oceans-clip.mp4")" type='video/mp4' />
呈现的内容如下:
<source src="localhost:8080/Media/oceans-clip.mp4" type='video/mp4' />
在第一种情况下,您正在从驱动器中读取文件:
<source src="C:\<filsystempath>\Media\oceans-clip.mp4" type='video/mp4' />
答案 1 :(得分:0)
解决方案非常简单。使用IIS express。不知道这是如何或为什么这样做但我认为它与C:\ Users \\ Documents \ IISExpress \ config中的applicationhost.config文件有关。也许MP4需要指定的mime类型才能工作。就像我说的,不确定。希望这有助于其他人。
另外,归功于karaxuna让我思考。