NativeAudio не работает на ionic 2 rc0 и rc1

#cordova-plugins #ionic2

#cordova-плагины #ionic2

Вопрос:

Я нахожусь в процессе создания поставщика звука для нажатий кнопок и фоновой музыки в игре. В моем поставщике звука под названием sound.ts я использую плагин NativeAudio и определил функцию для предварительной загрузки моих звуковых данных. Но когда я создаю свое приложение с

ionic работает под управлением Android -c

Я получаю следующее сообщение об ошибке:

ngc: Ошибка: свойство ‘preloadSimple’ не существует для типа ‘NativeAudio’.

sound.ts

 import { Injectable } from '@angular/core';
import { NativeAudio } from 'ionic-native';
...
@Injectable()
export class Sound {

  constructor(
    public nativeAudio : NativeAudio
  ){}

  loadSounds(){
    return this.nativeAudio.preloadSimple('buttonTick', 'assets/sounds/button-tick.wav')
      .then(()=>{
        return Promise.resolve("loaded sounds successfully");
      })
      .catch(this.handleError);
  }
...
  

В моем app.component.ts я запускаю метод loadSounds () моего поставщика звука

app.component.ts

 import ... //  Config/Sound/...
...

  constructor(
    public platform : Platform,
    public config   : Config,
    public sound    : Sound
  ){

    platform.ready().then(() => {

      // loading config amp; sounds
      config.loadDefault()
        .then(msg => {
          console.log(msg);
          return sound.loadSounds(); <----------(HERE)
        })
        .then(msg => {
          console.log(msg);
        })
        .catch(err => {
...
  

Мой app.module.ts вводит поставщика NativeAudio и моего пользовательского поставщика звука.
Итак, я задаюсь вопросом, что-то не так с плагином для rc0 или я что-то пропустил?

Должен ли я каким-то образом объявлять NativeAudio и как мне объявить плагин в моем файле povider .ts? потому что я предполагаю, что это ошибка машинописи…

Ответ №1:

Я решил эту проблему, причина ошибки возникла из-за использования NativeAudio (из ionic / native) как неродного модуля.

   constructor(
    public nativeAudio : NativeAudio <---- HAD TO DELETE THIS
  ){}
  

и после этого я не должен использовать «это» перед NativeAudio