iOS视频播放器15个视频后禁用播放按钮

时间:2017-02-28 11:17:16

标签: javascript ios cordova video ionic-framework

我已经使用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个视频,播放图标变为“禁止”,如果它被禁用,并且无法播放视频,除非我关闭应用程序和再打开它。

Play Icon appears disabled

这只发生在设备上,它可以从浏览器和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标记)

非常感谢任何想法/建议

1 个答案:

答案 0 :(得分:0)

IOS不允许使用超过15个视频标签,我们有相同类型的问题,要解决此问题,您需要清除视频参考。请使用以下代码。

$('video').each(function(){
    var vd = $(this)[0];
    vd.pause();
    vd.src="";
    vd.load();
    $(this).remove();
});