This commit is contained in:
2025-06-16 20:13:28 -04:00
parent 13ce728067
commit 376e3e788d
2 changed files with 47 additions and 5 deletions

View File

@@ -4,6 +4,21 @@ local modem = peripheral.find("modem")
local monitor = peripheral.wrap("top") local monitor = peripheral.wrap("top")
controlRoomSpeakers = peripheral.find("speaker") controlRoomSpeakers = peripheral.find("speaker")
local speakers = {
peripheral.wrap("speaker_0"),
peripheral.wrap("speaker_1"),
peripheral.wrap("speaker_2"),
peripheral.wrap("speaker_3"),
peripheral.wrap("speaker_4"),
peripheral.wrap("speaker_5"),
peripheral.wrap("speaker_6"),
peripheral.wrap("speaker_7"),
peripheral.wrap("speaker_8"),
peripheral.wrap("speaker_9"),
peripheral.wrap("speaker_10"),
peripheral.wrap("speaker_11"),
}
function setNewLine() function setNewLine()
local x,y = monitor.getCursorPos() local x,y = monitor.getCursorPos()
monitor.setCursorPos(1, y + 1) monitor.setCursorPos(1, y + 1)
@@ -15,8 +30,8 @@ local function startup()
--speakerDriver.playControlRoomAlarm(controlRoomSpeakers) --speakerDriver.playControlRoomAlarm(controlRoomSpeakers)
--speakerDriver.playExternalAlarm(controlRoomSpeakers) --speakerDriver.playExternalAlarm(controlRoomSpeakers)
--speakerDriver.playInternalAlarm(controlRoomSpeakers) --speakerDriver.playInternalAlarm(controlRoomSpeakers)
speakerDriver.playTTSFile(controlRoomSpeakers, "ELLO MATE LOVELY DAY INIT YOU GOT ANYYYY BEEEANSS AND TOAST ON YA MATE ID LOVE TO HAVE SOME BEANS N TOAST") speakerDriver.playTTSFile(speakers, "ELLO MATE LOVELY DAY INIT YOU GOT ANYYYY BEEEANSS AND TOAST ON YA MATE ID LOVE TO HAVE SOME BEANS N TOAST")
speakerDriver.playTTSFile(controlRoomSpeakers, "ITS ME NOVA ELLO THEY GOT ME LOCKED IN A BLOOOODY BOX MATE") speakerDriver.playTTSFile(speakers, "ITS ME NOVA ELLO THEY GOT ME LOCKED IN A BLOOOODY BOX MATE")
end end
local function run() local function run()

View File

@@ -17,19 +17,46 @@ local function randomFileName()
return name return name
end end
local function playSound(speaker, fileName) -- local function playSound(speaker, fileName)
-- local fileStream = getFileName(fileName)
-- local values = io.lines(fileStream, 16 * 1024)
-- for input in values do
-- print("playing audo....")
-- local decoded = decoder(input)
-- while not speaker.playAudio(decoded, 3) do
-- os.pullEvent("speaker_audio_empty")
-- end
-- end
-- end
local function playSpeaker(speaker, data)
while not speaker.playAudio(data, 3) do
os.pullEvent("speaker_audio_empty")
end
end
local function playSound(speakers, fileName)
local fileStream = getFileName(fileName) local fileStream = getFileName(fileName)
local values = io.lines(fileStream, 16 * 1024) local values = io.lines(fileStream, 16 * 1024)
for input in values do for input in values do
print("playing audo....") print("playing audo....")
local decoded = decoder(input) local decoded = decoder(input)
while not speaker.playAudio(decoded, 3) do local tasks = {}
os.pullEvent("speaker_audio_empty") for _, speaker in ipairs(speakers) do
table.insert(tasks, function()
playSpeaker(speaker, decoded)
end)
end end
parallel.waitForAll(table.unpack(tasks))
end end
end end
local function playControlRoomAlarm(speakers) local function playControlRoomAlarm(speakers)
playSound(speakers,"short_control_alarm") playSound(speakers,"short_control_alarm")
end end