Я использую плагин 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 файлов, поэтому он нужен для работы с опцией выбора списка.