微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

修复了Plyr视频播放器与离子角度节点的集成播放器未显示

如何解决修复了Plyr视频播放器与离子角度节点的集成播放器未显示

我正在尝试将Plyr与Ionic集成在一起,但无法加载。 离子信息: 离子CLI:5.4.16 离子框架:离子角3.9.5 @ ionic / app-scripts:3.2.4 科尔多瓦:

Cordova CLI:10.0.0 Cordova平台:Android 8.1.0 Cordova插件:cordova-plugin-ionic-keyboard 2.2.0,cordova-plugin-ionic-webview 4.2.1(和其他18个插件) npm:6.14.6 操作系统:Windows 10

Package.json

      "scripts": {
        "start": "ionic-app-scripts serve","clean": "ionic-app-scripts clean","build": "ionic-app-scripts build","lint": "ionic-app-scripts lint"
      },"dependencies": {
        "@angular/animations": "^6.1.10","@angular/cli": "^6.1.10","@angular/common": "^6.1.10","@angular/compiler": "^6.1.10","@angular/compiler-cli": "6.1.10","@angular/core": "^6.1.10","@angular/forms": "^6.1.10","@angular/http": "^6.1.10","@angular/platform-browser": "^6.1.10","@angular/platform-browser-dynamic": "^6.1.10","@angular/platform-server": "^6.1.10","@angular/router": "^6.1.10","@chrisben/imgcache.js": "^2.1.1","@ionic-native/barcode-scanner": "^4.20.0","@ionic-native/camera": "^4.20.0","@ionic-native/core": "~4.20.0","@ionic-native/device": "^4.20.0","@ionic-native/facebook": "^4.20.0","@ionic-native/file": "^4.20.0","@ionic-native/file-transfer": "^4.20.0","@ionic-native/google-plus": "^4.20.0","@ionic-native/http": "^4.20.0","@ionic-native/in-app-browser": "^4.20.0","@ionic-native/in-app-purchase": "^4.20.0","@ionic-native/push": "^4.20.0","@ionic-native/splash-screen": "~4.20.0","@ionic-native/status-bar": "~4.20.0","@ionic/storage": "2.2.0","@ngx-translate/core": "8.0.0","@ngx-translate/http-loader": "^2.0.0","@types/core-js": "2.5.0","@types/dragula": "^2.1.34","chart.js": "^2.8.0","cordova-android": "^8.1.0","cordova-plugin-camera": "^2.4.1","cordova-plugin-compat": "^1.2.0","cordova-plugin-console": "^1.0.5","cordova-plugin-device": "^1.1.7","cordova-plugin-facebook4": "^1.7.4","cordova-plugin-file": "^4.3.3","cordova-plugin-file-transfer": "^1.6.3","cordova-plugin-googleplus": "^8.5.1","cordova-plugin-inappbrowser": "^3.1.0","cordova-plugin-inapppurchase": "^1.1.0","cordova-plugin-privacyscreen": "^0.4.0","cordova-plugin-splashscreen": "^4.1.0","cordova-plugin-statusbar": "^2.4.2","cordova-plugin-whitelist": "^1.3.3","cordova-sqlite-storage": "^2.0.4","cordova-support-google-services": "^1.3.2","core-js": "^2.6.0","dragula": "^3.7.2","firebase": "^6.2.4","hls.js": "0.12.2","imgcache.js": "^1.1.1","ionic-angular": "3.9.5","ionic-emoji-picker": "^0.1.8","ionic-plugin-keyboard": "^2.2.1","ionicons": "3.0.0","ng2-dragula": "^1.5.0","ngx-plyr": "^1.2.2","phonegap-plugin-barcodescanner": "^8.1.0","phonegap-plugin-multidex": "^1.0.0","phonegap-plugin-push": "^2.3.0","plyr": "^3.4.7","rxjs": "^6.4.0","rxjs-compat": "^6.4.0","sw-toolBox": "3.6.0","videogular2": "^6.1.1","zone.js": "0.8.29"
      },"devDependencies": {
        "@ionic/app-scripts": "3.2.4","cordova-plugin-ionic-keyboard": "^2.0.5","cordova-plugin-ionic-webview": "^4.1.0","typescript": "~2.8.2"
      },"config": {
    "ionic_copy": "./config/copy.config.js"
  },

tsconfig.json

{
  "compilerOptions": {
    "allowSyntheticDefaultImports": true,"declaration": false,"emitDecoratorMetadata": true,"experimentalDecorators": true,"lib": [
      "dom","es2015"
    ],"module": "es2015","moduleResolution": "node","sourceMap": true,"target": "es5"
  },"include": [
    "src/**/*.ts"
  ],"exclude": [
    "node_modules","src/**/*.spec.ts","src/**/__tests__/*.ts"
  ],"compileOnSave": false,"atom": {
    "rewriteTsconfig": false
  }
}

status.html

        <div *ngIf="item.type == 'unit' && item.Meta.video">
               <video controls playsinline data-poster="assets/images/rising_video.jpg" id="playerID" >
                       <source [src]="item.Meta.video" type="video/mp4" size="360">
                </video>
        </div> 

status.ts

....
....
import Plyr from 'plyr';
@Component({
    selector: 'status',templateUrl: 'status.html',})

export class CourseStatusPage implements OnInit{
....
    constructor(...){}
    ngOnInit(){
    const player = new Plyr('#playerID',{ captions: { active: true } });
}

Index.html

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
  <Meta charset="UTF-8">
  <title>Player</title>
  <Meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
  <Meta name="format-detection" content="telephone=no">
  <Meta name="msapplication-tap-highlight" content="no">

  <link rel="icon" type="image/x-icon" href="assets/icon/favicon.ico">
  <link rel="manifest" href="manifest.json">
  <Meta name="theme-color" content="#4e8ef7">
  
  <!-- cordova.js required for cordova apps -->
  <script src="cordova.js"></script>

  <!-- un-comment this code to enable service worker
  <script>
    if ('serviceWorker' in navigator) {
      navigator.serviceWorker.register('service-worker.js')
        .then(() => console.log('service worker installed'))
        .catch(err => console.log('Error',err));
    }
  </script>-->

  <link href="build/main.css" rel="stylesheet">
  <link rel="stylesheet" href="build/plyr.css">
</head>
<body>

  <!-- Ionic's root component and where the app will load -->
  <script src="build/plyr.js"></script>
  <ion-app></ion-app>

  <!-- The polyfills js is generated during the build process -->
  <script src="build/polyfills.js"></script>
  <script src="build/vendor.js"></script>
  <!-- The bundle js is generated during the build process -->
  <script src="build/main.js"></script>

</body>
</html>

copy.config.js

module.exports = {
    copyAssets: {
        src: ['{{SRC}}/assets/**/*'],dest: '{{WWW}}/assets'
    },copyIndexContent: {
        src: ['{{SRC}}/index.html','{{SRC}}/manifest.json','{{SRC}}/service-worker.js'],dest: '{{WWW}}'
    },copyFonts: {
        src: ['{{ROOT}}/node_modules/ionicons/dist/fonts/**/*','{{ROOT}}/node_modules/ionic-angular/fonts/**/*'],dest: '{{WWW}}/assets/fonts'
    },copypolyfills: {
        src: ['{{ROOT}}/node_modules/ionic-angular/polyfills/polyfills.js'],dest: '{{BUILD}}'
    },copySwToolBox: {
        src: ['{{ROOT}}/node_modules/sw-toolBox/sw-toolBox.js'],copyPlyrCss: {
        src: ['{{ROOT}}/node_modules/plyr/dist/plyr.css','{{ROOT}}/node_modules/plyr/dist/plyr.js','{{ROOT}}/node_modules/plyr/dist/plyr.js.map'],dest: '{{BUILD}}'
    }
}

其他一切正常。加载时没有错误。在ionic serve命令之后,其加载认的HTML播放器而不是plyr。

视频播放器的皮肤没有显示

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。