我想做一些关于用户和视频权限的过滤器,我做了一个路由:
app_filter_f:
path: /products/{idProduct}/movies/{name}.mp4
defaults: { _controller: AppBundle:App:filterRequest }
和一个与https://creativcoders.wordpress.com/2014/05/12/symfony2-how-to-send-video-response-to-twig-view/ 类似的 Action 的 Controller 带文件系统 https://github.com/KnpLabs/KnpGaufretteBundle
return new \Symfony\Component\HttpFoundation\Response($fs->read('14/movies/session1_ch1.mp4'),200,[
'Content-Type' => 'video/mp4',
'Connection' => 'close',
'Content-Length' => $fs->size('14/movies/session1_ch1.mp4')
]);
问题是我的视频在页面中加载,但我无法进入下一分钟,只能返回,但不能前进。
在前端我使用了 html5:
<video id="course-video" width="100%" controls>
<source src="{{ course.modules.first.movies.isEmpty() ? '' :course.modules.first.movies.first().downloadPath }}" type="video/mp4">
Your browser does not support HTML5 video.
</video>
我试图找到任何解决方案,但我没有找到,是否可以用 symfony 模拟返回的视频,并努力改变前后分钟?
最佳答案
// use Symfony\Component\HttpFoundation\BinaryFileResponse
$response = new BinaryFileResponse($webPath);
$response->setAutoEtag(true);
$response->headers->set('Content-Type', 'video/mp4');
return $response;
关于php - Symfony 在 Controller 中返回视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34492749/