Estoy tratando de reproducir clips de audio recibidos del servidor a través de socketio. El código funciona, pero en el primer clip de audio recibido se reproduce, cualquier clip recibido después no se reproduce. Confirmé su recibo, pero no sé por qué solo reproduce el primer archivo de audio recibido.
socketio.on('audio_playback_results', function (data) { console.log("I recieved an audio playback! ",data); playOutput(data); }); function playOutput(arrayBuffer){ let audioContext = new AudioContext(); let outputSource; try { if(arrayBuffer.byteLength > 0){ console.log(arrayBuffer.byteLength); audioContext.decodeAudioData(arrayBuffer, function(buffer){ audioContext.resume(); outputSource = audioContext.createBufferSource(); outputSource.connect(audioContext.destination); outputSource.buffer = buffer; outputSource.start(0); }, function(){ console.log(`playoutput PLAYING OUTPUT ARGUMMENT ${arguments}`); // console.log(arguments); }); } } catch(e) { console.log(`ERORRR PLAYING OUTPUT ${e}`); } }realizo un texto al búfer de audio en el lado del servidor y luego lo transmito de vuelta al lado del cliente.
async function textToAudioBuffer(text) { requestTTS.input = { text: text }; // text or SSML const response = await ttsClient.synthesizeSpeech(requestTTS); console.log("RESPONSE @ ttsClient, textToAudioBuffer() : ", response[0].audioContent) var results = response[0].audioContent io.emit('audio_playback_results', results); return response[0].audioContent; }¿Qué está causando que no se reproduzca el clip de audio recibido después del primero y cómo puedo solucionarlo?