Advertisement
KedrikFeeD

Player

Feb 8th, 2025 (edited)
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.70 KB | None | 0 0
  1. local dfpwm = require("cc.audio.dfpwm")
  2. local speaker = peripheral.find("speaker")
  3. local player = {}
  4.  
  5. function player.playSoundByPath(path)
  6.     local decoder = dfpwm.make_decoder()
  7.  
  8.     if not decoder then
  9.         return error("decoder not found")
  10.     end
  11.  
  12.     for chunk in io.lines(path, 16 * 1024) do
  13.         local buffer = decoder(chunk)
  14.  
  15.         while not speaker.playAudio(buffer) do
  16.             os.pullEvent("speaker_audio_empty")
  17.         end
  18.     end
  19.  
  20.     return "sound played"
  21. end
  22.  
  23. function player.playNotice()
  24.     player.playSoundByPath("../sounds/icq_sms.dfpwm");
  25. end
  26.  
  27. function player.playStartup()
  28.     player.playSoundByPath("../sounds/startup-sound.dfpwm");
  29. end
  30.  
  31. return player
  32.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement