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

目录

  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

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

Ionic3学习笔记(十四)使用 videogular2 实现视频播放以及遇到的一些问题的更多相关文章

  1. python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例

    python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...

  2. (C/C++学习笔记) 十四. 动态分配

    十四. 动态分配 ● C语言实现动态数组 C语言实现动态数组,克服静态数组大小固定的缺陷 C语言中,数组长度必须在创建数组时指定,并且只能是一个常数,不能是变量.一旦定义了一个数组,系统将为它分配一个 ...

  3. SharpGL学习笔记(十四) 材质:十二个材质球

    材质颜色 OpenGL用材料对光的红.绿.蓝三原色的反射率来近似定义材料的颜色.象光源一样,材料颜色也分成环境.漫反射和镜面反射成分,它们决定了材料对环境光.漫反射光和镜面反射光的反射程度.在进行光照 ...

  4. 【转】angular学习笔记(十四)-$watch(1)

    本篇主要介绍$watch的基本概念: $watch是所有控制器的$scope中内置的方法: $scope.$watch(watchObj,watchCallback,ifDeep) watchObj: ...

  5. angular学习笔记(十四)-$watch(1)

    本篇主要介绍$watch的基本概念: $watch是所有控制器的$scope中内置的方法: $scope.$watch(watchObj,watchCallback,ifDeep) watchObj: ...

  6. Java学习笔记十四:如何定义Java中的类以及使用对象的属性

    如何定义Java中的类以及使用对象的属性 一:类的重要性: 所有Java程序都以类class为组织单元: 二:什么是类: 类是模子,确定对象将会拥有的特征(属性)和行为(方法): 三:类的组成: 属性 ...

  7. MYSQL进阶学习笔记十四:MySQL 应用程序优化!(视频序号:进阶_32)

    知识点十五:MySQL 的应用程序优化(32) 一.访问数据库采用连接池 把连接当做对象或设备,统一放在‘连接池’里.凡是需要访问数据库的地方都从连接池里取连接 二.采用缓存减少对于MySQL的访问: ...

  8. Swift学习笔记十四:构造(Initialization)

         类和结构体在实例创建时,必须为全部存储型属性设置合适的初始值. 存储型属性的值不能处于一个未知的状态.     你能够在构造器中为存储型属性赋初值,也能够在定义属性时为其设置默认值.下面章节 ...

  9. JavaScript权威设计--Window对象之Iframe(简要学习笔记十四)

    1.Window对象属性的文档元素(id) 如果在HTML文档中用id属性来为元素命名,并且如果Window对象没有此名字的属性,Window对象会赋予一个属性,它的名字是id属性的值,而他们的值指向 ...

  10. Oracle学习笔记十四 内置程序包

    扩展数据库的功能 为 PL/SQL 提供对 SQL 功能的访问 用户 SYS 拥有所有程序包 是公有同义词 可以由任何用户访问 一些内置程序包 程序包名称 说明 STANDARD和DBMS_STAND ...

随机推荐

  1. PAT A1133 Splitting A Linked List (25) [链表]

    题目 Given a singly linked list, you are supposed to rearrange its elements so that all the negative v ...

  2. sublime text2设置快捷键打开浏览器

    1 编辑一个py文件,内容如下: import sublime, sublime_plugin import webbrowser url_map = { 'C:\\server\\www\\' : ...

  3. DNS服务器搭建与配置

    DNS服务器搭建与配置目录 1.DNS查询方式 2.DNS服务器类型 3.DNS主要配置文件组 4.name.conf文件配置介绍 5.DNS的资源记录格式 6.DNS服务器和客户端配置 7.简单搭建 ...

  4. C++常用库函数 C函数库 cstdio

    常用的C/C++函数库, cstdio(stdio.h) 标准输入输出库.C Standard Input and Output Library 1. 实例 #include <cstdio&g ...

  5. 踏出第一步——安装并跑通python程序

    一.首先学会安装python软件 1.在浏览器下输入安装python软件的官方网址. 点击打开链接 2.在界面上点击"Downloads"下的"Windows" ...

  6. 初识API网关,API-gateway

    1.API-gateway(含义) 所有API的调用统一接入API网关层,由网关层负责接入和输出. API Gateway是一个服务器,也可以说是进入系统的唯一节点.这跟面向对象设计模式中的Facad ...

  7. [SDOI2015]道路修建(线段树)

    题意:给定2行n列的四连通带权网格图,支持修改边权和查询第[l,r]列的最小生成树 题解:这是一道好题,要么SDOI2019中n=2的20pts怎么会“我抄我自己”?(当然NOIP2018“我抄我自己 ...

  8. Monkey通过安装包获取包名

    在monkey命令中,包名常作为一个参数.但我们经常知道apk文件,却不知道包名. 如何获取包名呢? 方法一:AAPT 在SDK的build-tools目录下,aapt工具可以查看,创建,更新zip格 ...

  9. mybatis <where>标签别勿用,否则线上清表

    公司线上发送了清表现象,排除发现: <delete id="scMxdxxxb"> DELETE TABLE <where> <foreach col ...

  10. VSFTP服务搭建

    title date tags layout CentOS6.5 Vsftp服务安装与配置 2018-09-04 Centos6.5服务器搭建 post 1.安装vsftp服务 [root@local ...