我创建了一个基本应用程序并上传到 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 应用程序:-)
Thanks