2017-04-07 12 views
2

Ich entwickle gerade eine Anwendung mit Ionic 2/angular2.ionic 2 Soundeffekte abspielen

Es ist eine App, englische Zeiten zu lernen, die mit einer SQLite-Datenbank läuft.

Ich möchte einen Hintergrundsound hinzufügen, der die ganze Zeit in Schleife spielt.

Die Benutzer können sich mit einem Quizz selbst trainieren. Ich würde gerne Soundeffekte spielen, wenn der Benutzer seine Antwort einreicht.

Zwei verschiedene Sounds: einer für gut und einer für schlechte Antworten.

Ich habe bereits mit Nativeaudio, angular-audio und ionischen Audiomodulen versucht, aber jedes Mal basiert die Dokumentation auf Javascript und nicht auf Typoskript, oder es ist nicht hilfreich.

Mit nativem Audio ist es mir gelungen, einmal den Hintergrundsound abzuspielen, aber nachdem es überhaupt nicht funktioniert hat, kam ein Fehler: EXCEPTION: Uncaught (in Versprechung): Eine Referenz für das angegebene Audio existiert nicht Ich würde.

Für die anderen Lösungen (angular-audio und ionic-audio) habe ich entweder nicht bekommen, wie es zu installieren, einmal installiert, ich hatte nichts: kein Ton und kein Fehler.

Vielen Dank für Ihre Hilfe.

+0

Hallo und willkommen zu Stackoverflow! Bitte nehmen Sie die Tour, wie Sie fragen können: https://stackoverflow.com/help/how-to-ask Wenn Sie Ihre Frage verbessern können, wird es die Wahrscheinlichkeit verbessern, dass jemand Ihnen helfen kann! –

+0

Haben Sie diesen Link überprüft? http://ionicframework.com/docs/native/native-audio/ –

+0

Hallo, ja ich habe die ionische Dokumentation für native Audio überprüft, konnte aber nicht finden, wonach ich gesucht habe. – Guilhem

Antwort

7

Install:

$ ionic plugin add --save cordova-plugin-nativeaudio 
$ npm install --save @ionic-native/native-audio 

Verbrauch:

import { NativeAudio } from '@ionic-native/native-audio'; 

constructor(private nativeAudio: NativeAudio) { } 

... 

this.nativeAudio.preloadSimple('uniqueId1', 'path/to/file.mp3').then(onSuccess, onError); 
this.nativeAudio.preloadComplex('uniqueId2', 'path/to/file2.mp3', 1, 1, 0).then(onSuccess, onError); 

this.nativeAudio.play('uniqueId1').then(onSuccess, onError); 

// can optionally pass a callback to be called when the file is done playing 
this.nativeAudio.play('uniqueId1',() => console.log('uniqueId1 is done playing')); 

Referenz: https://ionicframework.com/docs/native/native-audio/

+0

Vielen Dank für Ihre Antwort, für jetzt habe ich das Problem einfach mit html5 Audio-Tag behoben. – Guilhem

+0

Funktioniert es in iOS und Android mit gleicher Qualität? – Al007