local args = { ... } local dfpwm = require("cc.audio.dfpwm") local buffer_size = 8192 if not http then print("no http, check config") return end local speaker = peripheral.find("speaker") if not speaker then print("no speaker") return end local req, err = http.get(args[1], {}, true) if not req then print("failed to perform HTTP request") print(err) return end local buffer = { } for i = 1, buffer_size do buffer[i] = 0 end local decoder = dfpwm.make_decoder() while true do local chunk = req.read(buffer_size) if not chunk then break end --local buffer = {} --for i = 1, #chunk do -- buffer[i] = string.byte(chunk, i) - 128 --end local buffer = decoder.decode(chunk) while not speaker.playAudio(buffer) do os.pullEvent("speaker_audio_empty") end end