Ionic - Áudio Nativo de Cordova
Este plug-in é usado para adicionar sons de áudio nativos ao aplicativo Ionic.
Usando áudio nativo
Para poder usar este plugin, primeiro precisamos instalá-lo. Abra a janela do prompt de comando e adicione o plugin Cordova.
C:\Users\Username\Desktop\MyApp>cordova plugin add cordova-plugin-nativeaudio
Antes de começarmos a usar este plugin, precisaremos do arquivo de áudio. Para simplificar, vamos salvar nossoclick.mp3 arquivo dentro do js pasta, mas você pode colocá-lo onde quiser.
A próxima etapa é pré-carregar o arquivo de áudio. Existem duas opções disponíveis, que são -
preloadSimple - É usado para sons simples que serão reproduzidos uma vez.
preloadComplex - É para sons que serão reproduzidos como sons em loop ou áudio de fundo.
Adicione o seguinte código ao seu controlador para pré-carregar um arquivo de áudio. Precisamos ter certeza de que a plataforma Ionic está carregada antes de pré-carregar o arquivo de áudio.
Código do Controlador
$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);
});
});
No mesmo controlador, adicionaremos código para reproduzir áudio. Nosso$timeout A função irá parar e descarregar o áudio em loop após cinco segundos.
$scope.playAudio = function () {
$cordovaNativeAudio.play('click');
};
$scope.loopAudio = function () {
$cordovaNativeAudio.loop('click');
$timeout(function () {
$cordovaNativeAudio.stop('click');
$cordovaNativeAudio.unload('click');
}, 5000);
}
A última coisa que precisamos é criar botões para reproduzir e repetir o áudio.
Código HTML
<button class = "button" ng-click = "playAudio()">PLAY</button>
<button class = "button" ng-click = "loopAudio()">LOOP</button>
Quando tocarmos no botão play, ouviremos o som uma vez e quando tocarmos no botão loop, o som irá repetir por cinco segundos e então parar. Este plugin funciona apenas em um emulador ou dispositivo móvel.