El teléfono Android no produce sonido utilizando el plugin de teléfono de Córdoba y no da un mensaje de error

Estoy utilizando el marco iónico para crear una aplicación. Me gustaría reproducir un sonido así que usé https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-media/ . Este es mi pedazo de código utilizado para reproducir el sonido:

var my_media = new Media('/android/assets/www/audio/National Anthem.mp3', // success callback function () { console.log("playAudio():Audio Success"); }, // error callback function (err) {console.dir("playAudio():Audio Error: " + err); } ); my_media.play(); 

Desafortunadamente no está jugando y el mensaje de error dado es:

 playAudio():Audio Error: [object Object] 

¡En qué no puedo ver el objeto en la consola del cromo!

Si reemplazo var my_media = new Media(.. con var my_media =$cordovaMedia.newMedia(... No consigo ningún mensaje en la $ionicPlatform.ready(function().. código se coloca en $ionicPlatform.ready(function().. así que Sé que el complemento está listo antes de usarlo. ¿Alguna sugerencia?

Así que mi solución para reproductor de medios está abajo:

En primer lugar, crear un servicio:

 .factory('MediaSrv', function($q, $ionicPlatform, $window){ var service = { loadMedia: loadMedia, getStatusMessage: getStatusMessage, getErrorMessage: getErrorMessage }; function loadMedia(src, onError, onStatus, onStop){ var defer = $q.defer(); $ionicPlatform.ready(function(){ var mediaSuccess = function(){ if(onStop){onStop();} }; var mediaError = function(err){ _logError(src, err); if(onError){onError(err);} }; var mediaStatus = function(status){ if(onStatus){onStatus(status);} }; if($ionicPlatform.is('android')){src = '/android_asset/www/' + src;} defer.resolve(new $window.Media(src, mediaSuccess, mediaError, mediaStatus)); }); return defer.promise; } function _logError(src, err){ console.error('media error', { code: err.code, message: getErrorMessage(err.code) }); } function getStatusMessage(status){ if(status === 0){return 'Media.MEDIA_NONE';} else if(status === 1){return 'Media.MEDIA_STARTING';} else if(status === 2){return 'Media.MEDIA_RUNNING';} else if(status === 3){return 'Media.MEDIA_PAUSED';} else if(status === 4){return 'Media.MEDIA_STOPPED';} else {return 'Unknown status <'+status+'>';} } function getErrorMessage(code){ if(code === 1){return 'MediaError.MEDIA_ERR_ABORTED';} else if(code === 2){return 'MediaError.MEDIA_ERR_NETWORK';} else if(code === 3){return 'MediaError.MEDIA_ERR_DECODE';} else if(code === 4){return 'MediaError.MEDIA_ERR_NONE_SUPPORTED';} else {return 'Unknown code <'+code+'>';} } return service; }) 

Entonces, en el controlador:

 .controller('phrasebookCtrl', function ($scope, $ionicPlatform, $timeout, $cordovaMedia,MediaSrv) { $scope.play = function(src){ MediaSrv.loadMedia(src).then(function(media){ media.play(); }); 

Y en su opinión (en el tecleo me prueba):

  <p>Welcome: <a ng-click="play('audio/welcome1_el.mp3')">Test me</a></p> 

Nota: Esta solución funciona bien para plataformas Android y iOS. También debe crear una carpeta con el nombre audio en la carpeta www en su proyecto, con los archivos .mp3.

Por favor, hágamelo saber si esto solucionó su problema.

NOTA: la ruta cdvfile se admite como parámetro src :

 var my_media = new Media('cdvfile://localhost/temporary/recording.mp3', ...); 

Por favor, establezca su camino de acuerdo con eso.

  • Generación de iconos de iOS y Android en Cordova / PhoneGap
  • ¿Cómo configurar el proyecto Cordova plugin con soporte IDE?
  • Archivo GIF en la pantalla de inicio Ionic
  • Añadir android: nombre = "algo" a AndroidManifest.xml etiqueta "aplicación" de Cordova plugin.xml
  • Agregue una dependencia a un complemento de Android Cordova
  • SDK de Android no encontrado. Asegúrese de que está instalado. Si no está en la ubicación predeterminada, establezca la variable de entorno ANDROID_HOME
  • Cambiar el icono de la barra de estado de notificaciones push en Android e IOS
  • Hacer una llamada HTTP POST en Ionic 2 da la respuesta prohibida
  • Cordova-plugin-contacts-No obtener todas las fechas del evento
  • Cordova File Plugin - Leer desde la carpeta www?
  • Android Cordova 5.0+ caída de la cámara
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.