我创建了一个基本应用程序并上传到 Azure。我想嵌入视频,以便用户可以从列表中进行选择并查看每个视频;例如,选择一部电影并观看它的预告片。
我在 MVC 解决方案中创建了两个文件夹:“/Posters”包含 .jpg 文件作为每个视频的背景,“/Videos”包含 .mp4 文件作为每个视频的源。
.cshtml 片段在这里:
<video controls="controls" poster="@Model.PosterPath" width="640" height="360">
<source src="@Model.VideoPath" type="video/mp4" />
<object type="application/x-shockwave-flash" data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" width="640" height="360">
<param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" />
<param name="allowFullScreen" value="true" />
<param name="wmode" value="transparent" />
<param name="flashVars" value="config={'playlist':['@Model.PosterUrl',{'url':'@Model.VideoUrl','autoPlay':false}]}" />
<img alt="@Model.AltText" src="@Model.PosterPath" width="640" height="360" title="No video playback capabilities" />
</object>
</video>
发布后,视频元素在那里,并且海报正确显示,但是当我单击播放按钮时,出现“找不到流”错误。
我使用 VideoPath 和 PosterPath 值的相对路径,如下所示:
../../Videos/myvideo.mp4
VideoUrl 和 PosterUrl 值需要是绝对路径,并替换了 ':' 和 '/' 值,所以 'http://mywebsite.azurewebsites.net/Videos/myvideo.mp4' 显示如下:
http%3A%2F%2Fmywebsite.azurewebsites.net%2FVideos%2Fmyvideo.mp4
显然路径(相对和绝对)有可能不正确;但由于海报显示正确,我想知道是否还有其他原因。
我有什么方法可以测试视频是否已正确发布?抱歉,如果这是一个非常基本的问题,这是我的第一个 Azure 应用程序 :-)
谢谢