Воспроизведение аудио файлов из списка выбора - PullRequest
0 голосов
/ 09 ноября 2019

Я использую плагин NativeAudio для ionic 3. Я хотел бы воспроизвести аудио, когда опция выбрана из списка выбора.

У меня есть следующий код в audio.html файле:

  <ion-item>
    <ion-label>Select Audio File</ion-label>
    <ion-select [(ngModel)]="audiofile" interface="action-sheet">
      <ion-option value="track1" (click)="playAudio()">Track 1</ion-option>
      <ion-option value="track2">Track 2</ion-option>
      <ion-option value="track3">Track 3</ion-option>
    </ion-select>
  </ion-item>

</ion-list>

audio.ts

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, Platform } from 'ionic-angular';
import { NativeAudio } from '@ionic-native/native-audio';

@IonicPage()
@Component({
  selector: 'page-audio',
  templateUrl: 'audio.html',
})
export class AudioPage {

  constructor(
    public navCtrl: NavController, 
    public navParams: NavParams, 
    public platform: Platform, 
    private nativeAudio: NativeAudio,
    ) {

    this.platform.ready().then(() => {
      console.log("platform ready");

      this.nativeAudio.preloadComplex('track1', 'assets/audio/track1.mp3', 1, 1, 0);
      this.nativeAudio.preloadComplex('track2', 'assets/audio/track2.mp3', 1, 1, 0);
    });

  }

    playAudio() {
      console.log("playing audio");

      this.nativeAudio.play('track1').then(function() {
          console.log("play audio!");
      }, function(err) {
          console.log("error playing audio: " + err);
      });
    }


}

При выборе track1 из списка я ожидаю, что этот аудиофайл будет воспроизводиться, но это не так. Любой совет, что я делаю не так или лучший способ сделать это.

Если создать кнопку для вызова функции playAudio, то она работает нормально. Однако у меня будет максимум 5 файлов, поэтому он нужен для работы с опцией выбора списка.

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