【发布时间】:2017-11-04 01:25:30
【问题描述】:
我有一个 10 秒的视频剪辑,以及该视频剪辑来自我网站的完整视频。 10 秒视频设置为(自动播放,preload=auto 和静音),完整视频设置为(preload=none)并设置为仅在单击时加载。视频都是.mp4。
我将站点发布到计算机上的 IIS,然后转到 localhost,站点将正常加载。 10 秒视频在我的视频轮播中加载良好,但是当我单击它转到有关视频的专用页面时,10 秒视频要么按原样加载,要么需要额外几秒钟才能加载,或者不加载完全加载??
即使没有加载 10 秒的视频,每次都可以完美加载完整视频完整的视频将打开,并开始正常播放?
我无法弄清楚是什么导致了这个问题,因为即使在轮播中同时加载了 5 个其他视频,视频也会在主页上正常加载,但是当它在自己的页面上时却无法加载几乎每次..?我尝试清除缓存并重新加载页面,但仍有 90% 的时间无法加载?
所以有人能告诉我是什么原因导致预加载开启时 2.2mb 的 10 秒视频无法加载,但即使预加载关闭,90.2mb 的视频也会在立即激活时加载?即使我重新加载页面,然后单击以立即加载完整视频,它也会几乎立即加载?我在主页上确实有相同的代码来获取视频剪辑并播放它,每次都有效!
10 秒剪辑:我在这些具有 id 的视频剪辑周围有 div,因此可以将 div 加载到加载视频的其他页面上。
<video preload="auto" src="@Url.Content("~/Content/Video/")@item.clip" autoplay loop="" muted style="width:100%;"></video>
完整视频:
<video id="videoClick1" controlsList="nodownload" src="@Url.Content("~/Content/Video/")@item.selectFile" preload="none" controls style="width:100%;"></video>
这里是加载视频的地方:
<div id="fullVideoClick">
<div id="video2">
</div>
<div id="video1">
</div>
</div>
<script>
$("#video1").load("/VideoCarousels/index #profileVideo1");
$("#video2").load("/VideoCarousels/index #carouselVideo1");
</script>
在主页上:
<div id="video1">
</div>
<script>
$("#video1").load("/VideoCarousels/index #carouselVideo1");
</script>
我唯一能想到的是视频剪辑的预加载有时由于某种原因没有激活,因为它在大约 5% 的时间里完美运行,并且在 5% 的时间里它需要比平时更长的时间,但仍然加载,而另外 90% 的时间它只是从不加载,但在主页上它 95% 的时间加载完美,另外 5% 的时间它最终会加载,但比正常需要更长的时间。
--编辑--
我已将我的 5 个视频轮播设置为在每张幻灯片上播放相同的视频剪辑,当我在清除缓存后重新加载页面时,它似乎加载了 5 张幻灯片中的 3 张视频,但是当我第二次重新加载页面时它加载它们的时间都很好,但仍然在专用页面上它只是不加载剪辑。我也加入了 $(document).ready(function(){ ... });最初加载了剪辑,这让我希望这将是答案,但是在再次刷新页面后,即使在清除缓存后剪辑也不再加载,如果要加载它是随机的。
--edit2-- 发现了最奇怪的东西!我检查了元素,并删除了弹出的完整视频,因为它后面是视频剪辑,所以我能够看到视频剪辑的视频控件,奇怪的是视频剪辑实际上加载得很好,但最奇怪的是点击播放什么都不做??我点击播放,然后我必须在视频中点击几秒钟,然后它才开始播放???有人知道为什么会这样吗?
【问题讨论】:
-
只是为了解决问题,您是否每次尝试都清除缓存?视频可能在缓存中
-
@Nevosis 我会重新加载页面几次然后转到其他页面,然后返回,然后我将清除缓存,然后重试。
标签: javascript html asp.net model-view-controller preload