Как остановить звук, когда он воспроизводится в другом проигрывателе параллельно в Cordova Media Plugin

В моем приложении есть аудиоплеер, созданный с использованием Ionic framework Cordova Media Plugin.

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

Я хочу, чтобы одновременно был активен только один аудиоплеер, кто-нибудь знает, как это сделать?


person peraman    schedule 03.11.2015    source источник
comment
Небольшая коррекция текста в моем вопросе. пожалуйста, следуйте этим комментариям: я хочу остановиться, когда другой проигрыватель воспроизводит медиафайлы. Мобильный должен воспроизводить один звук за раз. Как это сделать?   -  person peraman    schedule 03.11.2015
comment
Проверьте статус вашего медиа-объекта, как будто (self.media){ self.media.stop(); self.media.release(); /   -  person Anil kumar    schedule 03.11.2015
comment
Сделайте вопрос еще яснее.   -  person jarlh    schedule 05.11.2015


Ответы (2)


Это сработало для меня, проверьте это

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

Медиа-объект будет создан с некоторыми методами по умолчанию, такими как media.pause, media.resume, media.stop
, проверьте статус, и вы используете методы как

if(self.media){ self.media.stop(); self.media.release();}
person Anil kumar    schedule 03.11.2015
comment
Спасибо за ваш ответ @Anil kumar. Должен ли я знать о том, какой плагин Cordova использовал. Я уже пробовал вышеупомянутые методы. Я хочу, чтобы всякий раз, когда я воспроизводил звук (песню) в своем приложении, он автоматически останавливал фоновый проигрыватель (аудиослужбу) и начинал воспроизводить звук из моего приложения. - person peraman; 06.11.2015

Я использую Ionic 2 с cordova-plugin-nativeaudio.

Я предварительно загружаю все нужные мне файлы в constructor, пример для одного файла

    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) => {})
        );
    }

Затем я могу остановить его с помощью this.nativeAudio.stop(el); там, где мне нужно

person Ricky Levi    schedule 20.08.2017