ошибка установки внешнего плагина на ionic 4 - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь установить плагин медиаплеера, используя this , но возвращает следующую ошибку, когда я пытался скомпилировать и запустить его (ionic serve -l).

[ng] ОШИБКА в src / app / home / home.page.ts (14,1): ошибка TS1068: неожиданный токен.Ожидается конструктор, метод, метод доступа или свойство.

[ng] src / app / home / home.page.ts (23,1): ошибка TS1128: ожидается объявление или инструкция.

Я сделал точно так же, как в документации, но ошибка все еще здесь.

home.page.ts:

import { Component } from '@angular/core';
import { StreamingMedia, StreamingVideoOptions } from '@ionic-native/streaming-media';

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {

constructor(private streamingMedia: StreamingMedia) { }


let options: StreamingMedia = {
  successCallback: () => { console.log('Video played') },
  errorCallback: (e) => { console.log('Error streaming') },
  orientation: 'landscape',
  shouldAutoClose: true,
  controls: false
};
}

app.module.ts:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';

import { StreamingMedia, StreamingVideoOptions } from '@ionic-native/streaming-media';

import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';

import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';

@NgModule({
  declarations: [AppComponent],
  entryComponents: [],
  imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
  providers: [
    StatusBar,
    SplashScreen,
    StreamingMedia,
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

я что-то забыл начать использовать этот плагин?

1 Ответ

0 голосов
/ 17 октября 2018

Ionic 4 изменил некоторые объекты.Вам нужно определить этот объект (StreamingVideoOptions) для видео.Например;

 myStreamVideoOptions :StreamingVideoOptions = {
successCallback: function() {
  console.log("Video was closed without error.");
},
errorCallback: function(errMsg) {
  console.log("Error! " + errMsg);
},
orientation: 'landscape',
shouldAutoClose: true,  // true(default)/false
controls: true // true(default)/false. Used to hide controls on fullscreen

};

, а затем вы можете использовать это

let media: StreamingMedia = new StreamingMedia()
media.playVideo('my_video_url',this.myStreamVideoOptions)

Итак, полный код в вашем примере;

import { Component } from '@angular/core';
import { StreamingMedia, StreamingVideoOptions } from '@ionic-native/streaming-media';

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {

  myStreamVideoOptions: StreamingVideoOptions = {
    successCallback: function () {
      console.log("Video was closed without error.");
    },
    errorCallback: function (errMsg) {
      console.log("Error! " + errMsg);
    },
    orientation: 'landscape',
    shouldAutoClose: true,  // true(default)/false
    controls: true // true(default)/false. Used to hide controls on fullscreen
  };

  constructor(private streamingMedia: StreamingMedia) {

  }

  play(){
    let media: StreamingMedia = new StreamingMedia()
    media.playVideo('my_video_url',this.myStreamVideoOptions);
  }
}

Дайте мне знать, если это работает для вас

Извините за мой плохой английский!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...