我使用CakePHP作为kiosk应用程序(使用node-webkit / chromium),我一次提供多个视频,在一个页面中最多可以有15个视频
这是我的控制器代码
public function _getVideoFullPath($id)
{
$video = $this->Article->findById($id, array('Article.video_dir', 'Article.video'));
$video_name = $video['Article']['video'];
$file = $this->_getVideoDir($id).$video_name;
return $file;
}
public function getVideo($id)
{
$this->response->header(
array(
'Content-Type: video/webm',
'Content-Length: ' . filesize($this->_getVideoFullPath($id))
)
);
$this->response->cache('-1 minute', '+5 days');
$this->response->file($this->_getVideoDir($id).'video'.$id.'-webm.webm', array('download' => true));
return $this->response;
}
视图
<video preload="auto" controls src="/article/articles/getVideo/<?php echo h($article['Article']['id']); ?>">
</video>
当我浏览视频时,它不再播放
http标头:
我做错了什么?
由于
编辑:
问题是preload="auto"
,因为Chrome不允许超过6个同时连接(并且我在一个页面中预加载了超过15个视频)
我的问题的临时解决方案是将预加载更改为无。