Иони c 5 - NativeAudio - PullRequest
       134

Иони c 5 - NativeAudio

0 голосов
/ 23 апреля 2020

У меня проблема с плагином IONI C NativeAudio. Я использую IONI C с конденсатором с этой конфигурацией

Ionic:

   Ionic CLI                     : 5.4.16 (/usr/local/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 5.0.7
   @angular-devkit/build-angular : 0.803.26
   @angular-devkit/schematics    : 8.3.26
   @angular/cli                  : 8.3.26
   @ionic/angular-toolkit        : 2.2.0

Capacitor:

   Capacitor CLI   : 2.0.1
   @capacitor/core : 2.0.1

Utility:

   cordova-res                          : not installed
   native-run (update available: 1.0.0) : 0.2.8

System:

   NodeJS : v13.11.0 (/usr/local/Cellar/node/13.11.0/bin/node)
   npm    : 6.13.7
   OS     : macOS Catalina

Я устанавливаю плагин, как описано в DO C.

Это мой звуковой сервис.

import {Injectable} from '@angular/core';
import {Platform} from '@ionic/angular';
import {NativeAudio} from '@ionic-native/native-audio/ngx';

const INCREASE = 'increase_audio';
const DECREASE = 'decrease_audio';


@Injectable({
  providedIn: 'root'
})
export class SoundService {

  private isSoundPlaying: boolean;
  private isAudioAvailable: boolean;

  constructor(
    private nativeAudio: NativeAudio,
    private platform: Platform
  ) {
    this.isSoundPlaying = false;
    this.isAudioAvailable = false;
    if (platform.is('hybrid')) {
      this.isAudioAvailable = true;
      this.nativeAudio.preloadSimple(INCREASE, 'sounds/increase.mp3').catch();
      this.nativeAudio.preloadSimple(DECREASE, 'sounds/decrease.mp3').catch();
    }
  }

  playIncrease() {
    this.playSound(INCREASE);
  }

  playDecrease() {
    this.playSound(DECREASE);
  }

  private playSound(soundId: string) {
    this.isSoundPlaying = true;
    if (!this.isSoundPlaying && this.isAudioAvailable) {
      this.nativeAudio.play(soundId).then(() => {
        this.isSoundPlaying = false;
      }, () => {
        this.isSoundPlaying = false;
      });
    }
  }
}

Я внедряю его в «контроллер», где хочу воспроизвести небольшой звук. Я ничего не внедряю в модуль приложения, потому что это не указано в документации, но я также пытаюсь поместить NativeAudio в массив провайдера, но он все еще не работает.

Ошибка: NullInjectorError: StaticInjectorError (AppModule) [NativeAudio]

Как вы можете видеть на рисунке в приложении.

enter image description here

Спасибо все может помочь мне, с уважением

...