Учебники

Ionic — Cordova Native Audio

Этот плагин используется для добавления собственных звуков в приложение Ionic.

Использование родного аудио

Чтобы иметь возможность использовать этот плагин, нам сначала нужно его установить. Откройте окно командной строки и добавьте плагин Cordova.

C:\Users\Username\Desktop\MyApp>cordova plugin add cordova-plugin-nativeaudio

Прежде чем мы начнем использовать этот плагин, нам понадобится аудиофайл. Для простоты мы сохраним наш файл click.mp3 в папке js , но вы можете разместить его где угодно.

Следующим шагом является предварительная загрузка аудиофайла. Доступны два варианта:

  • preloadSimple — используется для простых звуков, которые будут воспроизводиться один раз.

  • preloadComplex — это для звуков, которые будут воспроизводиться как циклические звуки или фоновый звук.

preloadSimple — используется для простых звуков, которые будут воспроизводиться один раз.

preloadComplex — это для звуков, которые будут воспроизводиться как циклические звуки или фоновый звук.

Добавьте следующий код в контроллер, чтобы предварительно загрузить аудиофайл. Мы должны быть уверены, что платформа Ionic загружена, прежде чем мы сможем предварительно загрузить аудиофайл.

Код контроллера

$ionicPlatform.ready(function() {
   $cordovaNativeAudio
   .preloadSimple('click', 'js/click.mp3')
	
   .then(function (msg) {
      console.log(msg);
   }, function (error) {
      console.log(error);
   });

   $cordovaNativeAudio.preloadComplex('click', 'js/click.mp3', 1, 1)
	.then(function (msg) {
      console.log(msg);
   }, function (error) {
      console.error(error);
   });
});

В этот же контроллер мы добавим код для воспроизведения звука. Наша функция $ timeout остановит и разгрузит зацикленное аудио через пять секунд.

$scope.playAudio = function () {
   $cordovaNativeAudio.play('click');
};

$scope.loopAudio = function () {
   $cordovaNativeAudio.loop('click');

   $timeout(function () {
      $cordovaNativeAudio.stop('click');
      $cordovaNativeAudio.unload('click');
   }, 5000);
}

Последнее, что нам нужно, это создать кнопки для воспроизведения и зацикливания звука.

HTML-код

<button class = "button" ng-click = "playAudio()">PLAY</button>

<button class = "button" ng-click = "loopAudio()">LOOP</button>

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