Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

123
Views
Intento bloqueado de crear un WebMediaPlayer porque ya existen demasiados WebMediaPlayers

Estamos trabajando en una estación de trabajo de audio digital en el navegador. Necesitamos trabajar con múltiples archivos de audio en una pestaña. Usamos new Audio(audioUrl) para poder reproducir el audio en nuestro propio mezclador de audio. Ha estado funcionando para nosotros hasta ahora.

Con la última versión de Chrome (92), tenemos el problema de que el fragmento de código anterior provoca el siguiente error:

 [Intervention] Blocked attempt to create a WebMediaPlayer as there are too many WebMediaPlayers already in existence. See crbug.com/1144736#c27

No puedo acceder al enlace de error proporcionado, dice permiso denegado. ¿Y hay una solución sugerida para manejar esto?

ACTUALIZACIÓN: Dejé de usar HTMLAudioElement para AudioBufferSourceNode . Parece la única solución sencilla, ya que el equipo de Chrome está discutiendo para limitarlos de todos modos. Nota: es posible que necesitemos más de 1000 clips de audio para reproducir. Esto es en referencia al hilo de discusión de Chrome donde van a aumentar la cantidad de webmediaplayers a 1000 en el próximo lanzamiento para el 5 de agosto de 2021.

over 4 years ago · Santiago Trujillo
4 answers
Answer question

0

const MaxWebMediaPlayerCount = 75; class VideoProducer { static #documentForVideo static createVideo() { if (!this.#documentForVideo || this.#documentForVideo.videoCount === MaxWebMediaPlayerCount) { const iframeForVideo = document.body.appendChild(document.createElement('iframe')); iframeForVideo.style.display = 'none'; iframeForVideo.contentDocument.videoCount = 0; this.#documentForVideo = iframeForVideo.contentDocument; } this.#documentForVideo.videoCount++; const video = this.#documentForVideo.createElement('video'); return video; } foo() { const video = VideoProducer.createVideo(); // ... }
over 4 years ago · Santiago Trujillo Report

0

Chrome 92 ha introducido un límite en la cantidad de etiquetas de audio y video que se pueden asignar en una pestaña en particular. 75 para navegadores de escritorio y 40 para navegadores móviles.

Por ahora, la única solución es limitar la cantidad de etiquetas de audio y video creadas en la página. Intente reutilizar los elementos de audio/video ya asignados.

El número solo se puede aumentar pasando el siguiente indicador al iniciar Chrome, por ejemplo --max-web-media-player-count=5000 (Por supuesto, no podemos esperar que el usuario final haga esto)

Código fuente relacionado aquí: https://chromium-review.googlesource.com/c/chromium/src/+/2816118

Editar:

Antes de desasignar los elementos de audio/video, la siguiente configuración parece forzar la limpieza del elemento.

 mediaElement.remove(); mediaElement.srcObject = null;
over 4 years ago · Santiago Trujillo Report

0

Sí, a mí también me rompió el juego. Esto es lo que encontré como solución, espero que esto ayude mientras tanto:

 function playSound( ) { var jump_sound = new Audio("./jump.mp3"); jump_sound.play(); jump_sound.onended = function(){ this.currentSrc = null; this.src = ""; this.srcObject = null; this.remove(); }; }

Nota: aún se bloquea si hay demasiados sonidos simultáneos, pero con este código, el bloqueo es temporal.

over 4 years ago · Santiago Trujillo Report

0

Chrome versión 92.0.4515.131 parece resolver el problema

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!