我正在实现一个提供 mp4 文件的 HTML5 视频播放器。
当我使用常规 mp4 文件作为源时,视频很快就会开始播放,我还可以寻找尚未下载的部分。
现在,我想保护我的视频文件,即它们存储在 web 根目录下,视频 src 是一个 php 文件,用于检查是否允许用户查看视频。
所以我的 HTML 看起来像这样:
...
<video src="http://videoserver.com/stream.php?file=videoxy.mp4">
...
Run Code Online (Sandbox Code Playgroud)
和stream.php:
...
if ($access_granted) {
if ($fd = fopen($path, "rb")) {
$fsize = filesize($path);
header("Content-Type: video/mp4");
header("Content-Disposition: inline; filename=\"".$filename."\"");
header('Content-Transfer-Encoding: binary');
header("Content-Length: $fsize");
fpassthru($fd);
} else {
die('file not found');
}
} else {
die('forbidden');
}
...
Run Code Online (Sandbox Code Playgroud)
现在,视频仍会播放,但只有在视频完全下载后才能播放。
如何在下载所有内容之前开始播放视频?另外我想寻求尚未下载的部分像以前一样工作。
将我的iPad从纵向旋转到横向并再回到纵向时,fancybox图像在左侧会出现神秘的填充.另外,在更改旋转之前,我无法向左或向右滚动,之后我可以向左滚动.请参考图像(观察背景!)以便更好地理解.

我已经尝试过添加fancybox的重新定位方法:
$(window).bind('orientationchange', function(event) {
$.fancybox.reposition();
});
Run Code Online (Sandbox Code Playgroud)
任何人之前都经历过这种情况,或者可以猜到它可能来自哪里?任何帮助将不胜感激.