Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Настройки
- local modemSide = "right" -- Сторона модема
- local speakerSide = "top" -- Динамик
- local bufferTicks = 5 -- Буфер для сглаживания (в тиках)
- -- Инициализация
- rednet.open(modemSide)
- local speaker = peripheral.find("speaker", speakerSide)
- if not speaker then error("❌ Динамик не найден!") end
- print("🎧 Приёмник запущен. Ожидание аудио...")
- while true do
- local senderID, message = rednet.receive() -- Ждём данные
- if message and message.type == "audio" then
- print("🔊 Принято аудио от ID " .. senderID)
- -- Буферизация (если нужно сгладить задержки)
- local buffer = {}
- table.insert(buffer, message.data)
- -- Читаем остальные чанки с таймаутом
- while true do
- local _, nextMessage = rednet.receive(0.1) -- Ждём следующий пакет 0.1 сек
- if nextMessage and nextMessage.type == "audio" then
- table.insert(buffer, nextMessage.data)
- else
- break -- Данные закончились
- end
- end
- -- Воспроизводим буфер
- for _, chunk in ipairs(buffer) do
- speaker.playAudio(chunk)
- os.sleep(0.05) -- Задержка между тиками
- end
- print("✅ Аудио от ID " .. senderID .. " воспроизведено!")
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement