1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2024-11-14 05:44:52 +00:00
CC-Tweaked/doc/events/speaker_audio_empty.md
Jonathan Coates 52b78f92cd
Use standard Markdown link syntax for references
References are now written using normal links: You now use [`print`] or
[print a string][`print`]) instead of @{print} or @{print|print a
string}.
2023-08-24 11:23:33 +01:00

913 B

module: [kind=event] speaker_audio_empty see: speaker.playAudio To play audio using the speaker

Return Values

  1. [string]: The event name.
  2. [string]: The name of the speaker which is available to play more audio.

Example

This uses [io.lines] to read audio data in blocks of 16KiB from "example_song.dfpwm", and then attempts to play it using [speaker.playAudio]. If the speaker's buffer is full, it waits for an event and tries again.

local dfpwm = require("cc.audio.dfpwm")
local speaker = peripheral.find("speaker")

local decoder = dfpwm.make_decoder()
for chunk in io.lines("data/example.dfpwm", 16 * 1024) do
    local buffer = decoder(chunk)

    while not speaker.playAudio(buffer) do
        os.pullEvent("speaker_audio_empty")
    end
end