当我尝试两次请求相同的视频流时,我遇到了某种超时,因此我认为分叉可以解决我的问题。
在开始之前,我使用third party class for video streams。使用我自己的路由系统,这是有效的,但我有上述问题。
/**
* Proper way to enqueue scripts and styles.
*/
function wp_theme_enque_scripts() {
wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/boosting.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'wp_theme_enque_scripts' );
尝试使用fork之后,它看起来像这样:
public function stream ($req, $res) {
$video = c_video_folder . $req->get_param('id') . '.mp4';
if (file_exists($video)) {
$res->videoStream($video);
} else {
$res->failure(204); // no content
}
}
发生的问题是响应包中不包含任何数据,除了正确的标题等。有谁知道为什么会这样?
PS。参数$ res,只是另一个类设置标题,然后调用顶部链接的VideoStream类。
答案 0 :(得分:0)
没有必要开始使用forks和pthread来处理这个问题,即使我这样做也不会解决我的问题。
当我尝试刷新页面时会发生什么,它不会让我直到缓冲完成。
那么如何在html5视频标签中停止缓存? 很简单,你必须暂停视频,缓冲将使你无法刷新页面。
在您开始播放视频以避免进一步出现问题之前停止缓冲区也很重要(例如视频下次无法加载,不幸的是我不知道为什么会这样?)使用Angular.js我通过听取页面刷新解决了这个问题,将音量设置为0(播放时静音),启动视频并暂停播放。 它工作得很好,这就是我做的方式:
angular.element($window).on('beforeunload', function (event) {
vp.volume = 0;
vp.play();
vp.pause();
});