NodeMCU播放.wav或.mp3文件

时间:2016-03-31 05:25:54

标签: audio lua esp8266 nodemcu

我不确定哪条路可以让NodeMCU播放音频。我想使用一到两秒的wav文件并驱动一个小型扬声器。目标是听到人声,没有超高保真度。另外,我不想使用音频屏蔽或SD卡。我的文件足够小,可以直接从芯片上运行。无需录制样本,只需播放即可。我应该使用什么,那里有任何例子吗?似乎sigma-delta模块是一个很好的起点。

1 个答案:

答案 0 :(得分:1)

dev落在-- **************************************************************************** -- Play file with pcm module. -- -- Upload jump_8k.u8 to spiffs before running this script. -- -- **************************************************************************** function cb_drained(d) print("drained "..node.heap()) file.seek("set", 0) -- uncomment the following line for continuous playback --d:play(pcm.RATE_8K) end function cb_stopped(d) print("playback stopped") file.seek("set", 0) end function cb_paused(d) print("playback paused") end file.open("jump_8k.u8", "r") drv = pcm.new(pcm.SD, 1) -- fetch data in chunks of LUA_BUFFERSIZE (1024) from file drv:on("data", file.read) -- get called back when all samples were read from the file drv:on("drained", cb_drained) drv:on("stopped", cb_stopped) drv:on("paused", cb_paused) -- start playback drv:play(pcm.RATE_8K) 分支后,您可以执行以下操作https://github.com/nodemcu/nodemcu-firmware/pull/1255

  var password = 'sample'
  var passphrase ='sample_passphrase'
  CryptoJS.AES.encrypt(password, passphrase)
  

音频预期为采样率的单声道原始无符号8位流   每秒1 k到16 k样本之间。常规的WAV文件可以   使用Audacity或SoX等OSS工具进行转换。调整音量   在转换之前。