From c0a024a8c2181ea4d5ec471a287d0e40e2c44c60 Mon Sep 17 00:00:00 2001 From: itzmarkoni Date: Mon, 16 Jun 2025 20:16:51 -0400 Subject: [PATCH] updated --- speaker_driver.lua | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/speaker_driver.lua b/speaker_driver.lua index cd82523..bdf2938 100644 --- a/speaker_driver.lua +++ b/speaker_driver.lua @@ -31,8 +31,10 @@ end -- end -- end -local function playSpeaker(speaker, data) - while not speaker.playAudio(data, 3) do +local function playSpeaker(speaker, input) + local decoder = require("cc.audio.dfpwm").make_decoder() + local decoded = decoder(input) + while not speaker.playAudio(decoded, 3) do os.pullEvent("speaker_audio_empty") end end @@ -41,12 +43,13 @@ local function playSound(speakers, fileName) local fileStream = getFileName(fileName) local values = io.lines(fileStream, 16 * 1024) for input in values do - print("playing audo....") - local decoded = decoder(input) + print("playing audio...") + local tasks = {} for _, speaker in ipairs(speakers) do table.insert(tasks, function() - playSpeaker(speaker, decoded) + -- each speaker needs its own decoder for the same input chunk + playSpeaker(speaker, input) end) end