【问题标题】:iOS video player Play button disabled after 15 videosiOS 视频播放器播放 15 个视频后禁用播放按钮
【发布时间】:2017-07-19 08:08:14
【问题描述】:

我使用 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 标签)

任何想法/建议将不胜感激

【问题讨论】:

  • UpDate:在刚刚生成的全新应用上进行测试,同样的问题,即使只有一个视频播放 16 次,第 17 次也会被阻止

标签: javascript ios cordova video ionic-framework


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    相关资源
    最近更新 更多