Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

180
Visualizações
AudioContext no funciona en el estado de ejecución de Safari 15 pero currentTime no progresa

Parece que no puedo hacer que AudioContext en Safari 15 funcione correctamente. Cuando lo inicia, se encuentra en estado de ejecución, pero AudioContext.currentTime nunca funciona y no se reproduce nada. Todos los consejos anteriores cubren versiones anteriores de Safari en las que necesitaba llamar a resume dentro de un controlador de clics para sacarlo de un estado suspendido, pero como puede ver a continuación, se está ejecutando y llamar a resume no hace la diferencia. Este es el más ejemplo básico que se me ocurre a continuación:

https://codepen.io/thelamer123/pen/vYeLXOm

 <html> <body> <button onclick="play()">Test Audio</button> <div id="output"></div> <script> async function play() { var ac = new window.AudioContext(); ac.resume(); var response = await fetch('https://file-examples-com.github.io/uploads/2017/11/file_example_MP3_700KB.mp3'); var buffer = await response.arrayBuffer(); ac.decodeAudioData(buffer, onDecoded); function onDecoded(buffer){ var bs = ac.createBufferSource(); bs.buffer = buffer; bs.loop = true; bs.connect(ac.destination); bs.start(0); } var logloop = setInterval(() => { document.getElementById('output').innerHTML = ''; document.getElementById('output').innerHTML = 'AudioContext State: ' + ac.state + '<br>Current Time: ' + ac.currentTime; }, 100); } </script> </body> </html>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Así que esto fue un par de cosas, este ejemplo parece funcionar al azar dependiendo de su sistema operativo o plataforma. El consejo que le daría a cualquiera que se encuentre con esto es envolver su lógica en un clic de botón, no intente usar la captura de eventos. Inicie el contexto de audio en un nivel superior en la carga de la página y luego, cuando se presione el botón, haga esto:

 await audiocontext.resume(); console.log(audiocontext);

Por alguna razón, para tener compatibilidad, no solo necesita estar dentro de una función asíncrona en la que se hizo clic, sino también registrar en la consola el contexto de audio después de reanudarlo. Con Safari 15.1 parece que puede estar en un estado en el que se está "ejecutando", pero no realmente si no haces estas dos cosas.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda