zoukankan      html  css  js  c++  java
  • Ionic3学习笔记(十四)使用 videogular2 实现视频播放以及遇到的一些问题

    本文为原创文章,转载请标明出处

    目录

    1. 使用 videogular2
      • 安装
      • 增加图标、字体支持
      • 导入 module
      • 举个例子
    2. 遇到的问题
      • iOS 端自动进入全屏播放
      • Android 端 autoplay 不起作用
    3. 更多

    1. 使用 videogular2

    安装

    终端运行:

    npm install videogular2 --save
    npm install @types/core-js --save-dev
    

    增加图标、字体支持

    videogular2 GitHub 地址:https://github.com/videogular/videogular2

    git clone 下来,将它的 fonts 文件夹 copy 到你的 Ionic 项目的 assets 文件夹中,在 index.html 中引入 videogular 的 css 文件:

    <link rel="stylesheet" href="assets/fonts/videogular.css">
    

    导入 module

    导入你要使用 videogular2 的 page 的 module,比如说我要在 trailer.html 中使用,那我就导入到 trailer.module.ts 中。

    import {NgModule} from '@angular/core';
    import {IonicPageModule} from 'ionic-angular';
    import {VgCoreModule} from 'videogular2/core';
    import {VgControlsModule} from 'videogular2/controls';
    import {VgOverlayPlayModule} from 'videogular2/overlay-play';
    import {VgBufferingModule} from 'videogular2/buffering';
    import {TrailerPage} from './trailer';
    
    @NgModule({
      declarations: [
        TrailerPage,
      ],
      imports: [
        VgCoreModule,
        VgControlsModule,
        VgOverlayPlayModule,
        VgBufferingModule,
        IonicPageModule.forChild(TrailerPage),
      ],
    })
    export class TrailerPageModule {
    }
    

    举个例子

      <vg-player>
        <vg-overlay-play></vg-overlay-play>
        <vg-buffering></vg-buffering>
        <vg-controls [vgAutohide]="true" [vgAutohideTime]="5">
          <vg-play-pause></vg-play-pause>
          <vg-time-display [vgProperty]="'current'"></vg-time-display>
          <vg-scrub-bar>
            <vg-scrub-bar-current-time [vgSlider]="true"></vg-scrub-bar-current-time>
            <vg-scrub-bar-buffering-time></vg-scrub-bar-buffering-time>
          </vg-scrub-bar>
          <vg-time-display [vgProperty]="'total'"></vg-time-display>
          <vg-fullscreen></vg-fullscreen>
        </vg-controls>
        <video #media [vgMedia]="media" poster="你的poster" src="你的src" autoplay></video>
      </vg-player>
    

    2. 遇到的问题

    iOS 端自动进入全屏播放

    video 标签加上 playsinline(iOS 10及以上)、webkit-playsinline(iOS 10之前)这两个属性。

    另外还需要在 config.xml 文件中加上

    <preference name="AllowInlineMediaPlayback" value="true" />
    

    Android 端 autoplay 不起作用

    这是谁的锅...说来话长...不管了...

    3. 更多

    1. GitHub - videogular2
    2. videogular2 docs
    3. Cordova - Congig.xml

    如有不当之处,请予指正,谢谢~

  • 相关阅读:
    Python 单向循环链表
    python 单向链表实现
    Python实现栈
    单进程-非阻塞服务器
    Nginx开发从入门到精通
    Spring入门第十五课
    Spring入门第十六课
    Spring入门第十四课
    Spring入门第十三课
    Spring入门第十二课
  • 原文地址:https://www.cnblogs.com/metaphors/p/8414082.html
Copyright © 2011-2022 走看看