博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ionic中使用video标签全屏播放视频
阅读量:6215 次
发布时间:2019-06-21

本文共 2044 字,大约阅读时间需要 6 分钟。

ionic 全屏播放视频

ionic 中用 html5 的 video 标签播放视频,但是全屏的时候会黑屏。现在通过旋转手机屏幕和样式调整的方式,来模拟全屏视频播放。

扫码下载App

效果演示

依赖

安装 插件

ionic cordova plugin add cordova-plugin-screen-orientationnpm install @ionic-native/screen-orientation复制代码

使用

  1. 添加 video 标签
复制代码
  1. 添加样式
.full {  position: absolute !important;  height: 100vh;  z-index: 999;}.original {  position: relative;  height: 50vw;}.video-player {  position: relative;  width: 100%;  top: 0;  left: 0;  background-color: #000;  video {    position: absolute;    left: 0;    right: 0;    z-index: 0;    width: 100%;    height: 100%;    object-fit: cover;  }}.res-btn {  background-color: transparent;}复制代码
  1. 编写全屏切换方法
import { Content, Navbar } from 'ionic-angular';import { ScreenOrientation } from '@ionic-native/screen-orientation';import { StatusBar } from '@ionic-native/status-bar';...export class MyPage {  ...  @ViewChild(Content) content: Content;  @ViewChild(Navbar) navbar: Navbar;  // 当前滚动距离  private scrollHeight: number;  isFull = false;  constructor(    private screenOrientation: ScreenOrientation,    private statusBar: StatusBar  ) {}  // 全屏  async full() {    this.scrollHeight = this.content.getContentDimensions().scrollTop;    // 横屏    await this.screenOrientation.lock(      this.screenOrientation.ORIENTATIONS.LANDSCAPE_PRIMARY    );    // 隐藏状态栏    this.statusBar.hide();    this.isFull = true;    this.content.scrollToTop(0);    // 禁止手势滚动    this.content.setScrollElementStyle('overflowY', 'hidden');    // 隐藏ion-header    this.navbar.setHidden(true);    this.content.resize();  }  // 还原  async restore(): Promise
{ // 切换为竖屏 await this.screenOrientation.lock( this.screenOrientation.ORIENTATIONS.PORTRAIT_PRIMARY ); // 显示状态栏 this.statusBar.show(); // 显示ion-header this.navbar.setHidden(false); this.isFull = false; // 恢复手势滚动 this.content.setScrollElementStyle('overflowY', 'scroll'); // 滚动到原来的位置 setTimeout(() => { this.content.scrollTo(0, this.scrollHeight, 0); }, 300); this.content.resize(); }}复制代码

转载地址:http://jcvja.baihongyu.com/

你可能感兴趣的文章
IBM与广东中医院 携手共建智慧医疗
查看>>
智慧物联网 让城市感知和体验更美好
查看>>
大数据让分析软件市场大规模扩展
查看>>
《中国人工智能学会通讯》——1.4 展 望
查看>>
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.2.3 以文本格式存储对象...
查看>>
如何跳过等待更新,让Windows直接关机
查看>>
历经时间考验的五大数据中心解决方案
查看>>
三大JS框架的较量:Angular.js与React.js与Ember.js
查看>>
金砖褪色了吗?31张图告诉你金砖五国网购潜力有多大!
查看>>
墨友:一款天气产品的淘金之路
查看>>
使用HTTP/2服务端推送技术加速Node.js应用
查看>>
企业同步和共享应该学会爱上BYOA
查看>>
乘飞机不仅能玩手机 Wifi速度还快上天
查看>>
一种新型的获取威胁情报手段:窃听黑客
查看>>
专访陈士凯:机器人已经不需要讲故事了丨CCF-GAIR 2017
查看>>
《Hadoop实战第2版》——1.8节本章小结
查看>>
《 自动化测试最佳实践:来自全球的经典自动化测试案例解析》一一1.4 利用验收测试驱动开发,使用FitNesse测试GUI...
查看>>
《HTML 5+CSS 3入门经典》——第2章 去其糟粕,取其精华——HTML 5 的元素与属性...
查看>>
云存储服务是否是正确选择?
查看>>
witter被Instagram超越,在中国超越微博的将是谁
查看>>