iOS的视频自动播放在应用程序中不起作用

Posted

技术标签:

【中文标题】iOS的视频自动播放在应用程序中不起作用【英文标题】:Video autoplay for iOS not working in app 【发布时间】:2014-06-05 10:20:37 【问题描述】:

我正在使用 Ionic-Framework,并且正在使用 Videogular 插件播放视频。但是当我在 ios 上模拟它时,它不会自动播放,而在桌面上会。

我的 html

<videogular vg- 
vg- 
vg-theme="config.theme.url" 
vg-autoplay="config.autoPlay" 
vg-stretch="config.stretch.value" 
vg-responsive="config.responsive">
<video class='videoPlayer' controls preload='none'>
    <source src='assets/videos/level1.mp4' type='video/mp4'>
    <source src='assets/videos/level1.ogv' type='video/ogg'>
</video>

<vg-overlay-play>Test</vg-overlay-play>
</videogular>

模块:

angular.module('starter', [
                        'ionic', 
                        'starter.controllers', 
                        'starter.services',
                        "com.2fdevs.videogular",
                        "com.2fdevs.videogular.plugins.controls",
                        "com.2fdevs.videogular.plugins.overlayplay",
                        "com.2fdevs.videogular.plugins.buffering",
                        "com.2fdevs.videogular.plugins.poster"
                        ])

.run(function($ionicPlatform) 
$ionicPlatform.ready(function() 
   // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
   // for form inputs)
);
)

【问题讨论】:

【参考方案1】:

你应该在 videogular 标签中使用 vg-autoplay="true":

<videogular vg-autoplay="true">

完整示例:

<div class="videogular-container">
    <videogular vg-player-ready="onPlayerReady()" vg-complete="onCompleteVideo()" vg-theme="config.theme.url" vg-autoplay="true">
        <vg-video vg-src="config.sources" vg-tracks="config.tracks" vg-preload="config.preload"></vg-video>

        <vg-controls vg-autohide="config.plugins.controls.autoHide" vg-autohide-time="config.plugins.controls.autoHideTime">
            <vg-play-pause-button></vg-play-pause-button>
            <vg-timedisplay> currentTime | date:'mm:ss' </vg-timedisplay>
            <vg-scrubBar>
                <vg-scrubbarcurrenttime></vg-scrubbarcurrenttime>
            </vg-scrubBar>
            <vg-timedisplay> timeLeft | date:'mm:ss' </vg-timedisplay>
            <vg-volume>
                <vg-mutebutton></vg-mutebutton>
                <vg-volumebar></vg-volumebar>
            </vg-volume>
            <vg-fullscreenButton></vg-fullscreenButton>
        </vg-controls>

        <vg-overlay-play></vg-overlay-play>
        <vg-buffering></vg-buffering>
        <vg-poster-image vg-url='config.plugins.poster'></vg-poster-image>
        <div class="my-logo-layer" ng-show="API.currentState != 'play'">
            <img src="http://www.videogular.com/img/videogular.png">
        </div>
    </videogular>
</div>

【讨论】:

【参考方案2】:

您不能在移动设备上自动播放,操作系统默认禁用它。

【讨论】:

那facebook是怎么做的 在任何时候,您必须在任何地方点击/单击,他们会利用该事件来播放视频。这是几乎所有浏览器的文档规范:您不能自动播放视频以避免带宽消耗,必须是用户必须允许下载。 好吧,我不知何故设法玩了它,我不知道它到底是什么,因为我做了几件事,但添加 autoplay="autoplay" 是我尝试的最后一件事【参考方案3】:

我设法让它工作,但我不知道它是如何工作的。我尝试的最后一件事是把 autoplay="autoplay" 放进去。

<videogular id="intro-video" vg- 
 vg- 
 vg-theme="config.theme.url" 
 vg-autoplay="config.autoPlay" 
 vg-stretch="config.stretch.value" 
 vg-responsive="true">
 <video class='videoPlayer' autoplay='autoplay' webkit-playsinline>
    <source src='assets/videos/level1.mp4' type='video/mp4'>
    <source src='assets/videos/level1.ogv' type='video/ogg'>
 </video>
</videogular>

【讨论】:

以上是关于iOS的视频自动播放在应用程序中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

HTML5 视频自动播放在 chrome 中不起作用

Vimeo 视频自动播放在 Safari 11 中不起作用:NotAllowedError

Youtube 嵌入视频:自动播放功能在 iphone 中不起作用

具有自动播放功能的视频标签在反应中不起作用

在我将自动播放的首选项更改为“允许所有自动播放”之前,javascript 中的视频播放() api 在 safari 中不起作用

海报属性在 iPhone 5 上的视频标签中不起作用