2017-04-07 5 views
2

Je développe actuellement une application avec Ionic 2/angular2.ionique 2 comment jouer des effets sonores

C'est une application pour apprendre les temps anglais qui fonctionne avec une base de données SQLite.

Je voudrais ajouter un son de fond qui joue en boucle tout le temps.

Les utilisateurs peuvent s'exercer avec un quizz. Je voudrais jouer des effets sonores lorsque l'utilisateur soumet sa réponse.

Deux sons différents: un pour de bon et un pour de mauvaises réponses.

J'ai déjà essayé avec les modules audio Nativeaudio, angular-audio et Ionic, mais chaque fois la documentation est basée sur javascript et non sur tapuscrit, ou n'est pas utile. Avec l'audio natif, j'ai réussi une fois la lecture du son d'arrière-plan, mais après cela n'a pas fonctionné du tout et a produit une erreur: EXCEPTION: Uncaught (en promesse): Une référence n'existe pas pour l'audio spécifié id. Pour les autres solutions (angulaire-audio et ionique-audio) je n'ai pas non plus réussi à l'installer, une fois installé, je n'avais rien: pas de son et pas d'erreur.

Merci beaucoup pour votre aide.

+0

Salut et bienvenue à Stackoverflow! S'il vous plaît prendre la tournée sur la façon de demander: https://stackoverflow.com/help/how-to-ask Si vous pouvez améliorer votre question, cela permettra d'améliorer les chances de quelqu'un en mesure de vous aider! –

+0

Avez-vous vérifié ce lien? http://ionicframework.com/docs/native/native-audio/ –

+0

Salut, oui, j'ai vérifié la documentation ionique pour l'audio natif mais je n'ai pas trouvé ce que je cherchais. – Guilhem

Répondre

7

Installation:

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

Utilisation:

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')); 

Référence: https://ionicframework.com/docs/native/native-audio/

+0

Merci pour votre réponse, pour l'instant j'ai résolu le problème en utilisant simplement la balise audio html5. – Guilhem

+0

Est-ce que cela fonctionne dans iOS et Android avec la même qualité? – Al007