我已经使用Ionic Framework构建了一个应用程序,其中我有几个我想玩的视频。 为此,我创建了一个类似于类别的结构,您可以从中访问每个不同的视频, 通过点击视频标题导航到视频播放器,这是一个简单的html页面,其中包含一个像
这样的视频标签
<video controls style="background:#000;width:100%;" playsinline></video>
在我的视频播放器控制器中,我有逻辑将正确的视频放在看起来像
的标签中
function ($scope, $rootScope, $stateParams, $filter) {
$scope.video = $filter('getById')($rootScope.videos, $stateParams.videoId);
$scope.videoUrl = 'video/' + $rootScope.category + '/' + $stateParams.videoId + '#t=0';
$scope.playVideo = function(){
var vidURL = $scope.videoUrl;
var myVideo = document.getElementsByTagName('video')[0];
myVideo.src = vidURL;
myVideo.load();
myVideo.play();
}
$scope.playVideo();
}
基本上一切都适用于前15个视频播放,一旦我播放超过15个视频,播放图标变为“禁止”,如果它被禁用,并且无法播放视频,除非我关闭应用程序和再打开它。
这只发生在设备上,它可以从浏览器和iOS模拟器中完美地运行
xcode错误日志中没有错误。
看起来应用程序可以在同一视图中加载15个视频的限制..
我还尝试将视频放入iframe而不是像
这样的视频标签
<div class="player" style="background: #000; ">
<iframe src="{{videoUrl}}" width="100%" style="background: #000; position: absolute; height: 100vh" autoplay="0" playsinline></iframe>
</div>
在这种情况下,错误不会发生,但我无法播放内联视频(因为我无法在iframe的内容中插入playinline标记)
非常感谢任何想法/建议
答案 0 :(得分:0)
IOS不允许使用超过15个视频标签,我们有相同类型的问题,要解决此问题,您需要清除视频参考。请使用以下代码。
$('video').each(function(){
var vd = $(this)[0];
vd.pause();
vd.src="";
vd.load();
$(this).remove();
});