Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

156
Vistas
Modificar el nombre del archivo de descarga en la etiqueta de audio html5

Estoy trabajando con una etiqueta de audio cuya fuente puede ser de varios tipos, pero se llama desde un archivo ashx, ya que estoy cargando dinámicamente la transmisión.

 <audio id="audio" controls="" autoplay="" download="soundFile.wav"> <source id="mp3" src="../Controls/SoundPlayer/GetSoundFile.ashx?soundType=Sound&amp;fileId=test&amp;fileType=mp3" type="audio/mpeg3"> <source id="wav" src="../Controls/SoundPlayer/GetSoundFile.ashx?soundType=Sound&amp;fileId=test&amp;fileType=wav" type="audio/wav"> </audio>

Esta parte funciona bien, pero lo que me gustaría hacer es detectar un error cuando falla. Lo que puedo hacer así:

 $('audio').on('error', function (e) { $('#divAudioPlayerMessage').text('Recording can't be played'); }); $('source').on('error', function (e) { $('#divAudioPlayerMessage').text('Recording can't be played'); });

O así (que aparentemente solo funciona en IE [Obtuve esto de Cómo verificar si el audio HTML5 ha alcanzado diferentes errores )

 document.getElementsByTagName('audio')[0].addEventListener('error', function(e, o) { // audio playback failed - show a message saying why // to get the source of the audio element use $(this).src var errorMessage = ''; switch (e.target.error.code) { case e.target.error.MEDIA_ERR_ABORTED: errorMessage = 'You aborted the video playback.'; break; case e.target.error.MEDIA_ERR_NETWORK: errorMessage = 'A network error caused the audio download to fail.'; break; case e.target.error.MEDIA_ERR_DECODE: errorMessage = 'The audio playback was aborted due to a corruption problem or because the video used features your browser did not support.'; break; case e.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED: errorMessage = 'The video audio not be loaded, either because the server or network failed or because the format is not supported.'; break; default: errorMessage = 'An unknown error occurred.'; break; } $('#divAudioPlayerMessage').text(errorMessage); }, true);

Mi pregunta es ¿cómo puedo saber cuál es el error real? Por ejemplo, en mi archivo ashx podría devolver un error 404, que si obtengo me gustaría dar un mensaje específico.

Además, mi otro problema es que cuando se ejecuta en Chrome o Firefox, que no son compatibles con mp3, se llamará a mi controlador de errores, pero me gustaría ignorar ese error ya que también tengo un archivo wav que es compatible.

¡Gracias!

about 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda