4

J'ai un lecteur audio dans mon application qui a été fait en utilisant le cadre ionique Cordova Media Plugin.Comment arrêter l'audio quand il joue dans un autre lecteur parallèlement dans Cordova Media Plugin

Je souhaite que l'image soit arrêtée une fois qu'un autre lecteur d'application lit les fichiers multimédias.

Je veux qu'un seul lecteur audio soit actif à la fois, est-ce que quelqu'un sait quoi faire?

+0

Petite correction de texte dans ma question. S'il vous plaît suivez ces commentaires: Je veux arrêter quand un autre joueur joue des médias. Mobile doit jouer un audio à la fois. Comment faire? – peraman

+0

Vérifiez l'état de votre objet multimédia comme si (self.media) { self.media.stop(); self.media.release();/ –

+0

Rendez la question encore plus claire. – jarlh

Répondre

1

Cela a fonctionné pour moi, Check It

var filedirPath = $ionicPlatform.is('android') ? '/android_asset/www/app/audio' : 'audio'; 

var fileName = filedirPath + "/BlossominyourSmile.mp3"; 
var media = new Media(self.fileName, function(){ 
      console.log("Silence played succssfully"); 
      // self.resetPlay(); 
     }, function(err){ 
     }); 
media.play({playAudioWhenScreenIsLocked : true, numberOfLoops: 0}); 

Objet médiatique sera créé avec certaines méthodes par défaut comme media.pause, media.resume, media.stop
vérifier l'état et que vous utilisez méthodes comme

if(self.media){ self.media.stop(); self.media.release();} 
+0

Merci pour votre réponse @Anil kumar. Dois-je savoir ce que Cordova plugin a utilisé. J'ai déjà essayé les méthodes mentionnées ci-dessus. Je veux quand je joue le son (chanson) dans mon application, il devrait automatiquement arrêter le lecteur de fond (service audio) et il devrait commencer à jouer le son de mon application. – peraman

0

J'utilise Ionic 2 avec cordova-plugin-nativeaudio

Je précharger tous les fichiers dont j'ai besoin dans le constructor, par exemple pour un seul fichier

platform.ready().then(() => { 
      this.preloadTracks() 
     }); 

     preloadTracks(list) { 
      var path = this.keypadSounds.getAssetsPath();   
      list.forEach((el) => this.nativeAudio.preloadComplex(el, `${path}/${el}.mp3`, 1, 1, 0).then(
      () => {}, 
      (error) => {}) 
     ); 
    } 

Ensuite, je peux l'arrêter avec this.nativeAudio.stop(el); partout où je besoin