本站改版新增arduino频道
import network import urequests import ustruct import machine import time # WiFi配置 SSID = 'NBWIFI2' PASSWORD = 'z7758521' # MP3文件URL MP3_URL = 'http://doc.itprojects.cn/0006.zhishi.esp32/01.download/audio/chaojimali.wav' # 连接WiFi def connect_wifi(ssid, password): wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect(ssid, password) while not wlan.isconnected(): pass print('WiFi连接成功:', wlan.ifconfig()) # 初始化I2S def init_i2s(): i2s = machine.I2S( 0, sck=machine.Pin(10), #BCLK ws=machine.Pin(9), #LRC sd=machine.Pin(11), #DIN mode=machine.I2S.TX, bits=16, format=machine.I2S.MONO, rate=22000, ibuf=20000 ) return i2s # 调整音量 def adjust_volume(data, volume): samples = ustruct.unpack('<' + 'h' * (len(data) // 2), data) adjusted_samples = [int(sample * volume) for sample in samples] adjusted_data = ustruct.pack('<' + 'h' * len(adjusted_samples), *adjusted_samples) return adjusted_data # 播放MP3文件 def play_mp3(url, i2s, volume=1.0): response = urequests.get(url) #response.raw.read(44) # 跳过开头的44字节音频文件头信息 if response.status_code == 200: while True: data = response.raw.read(1024) if not data: break adjusted_data = adjust_volume(data, volume) i2s.write(adjusted_data) response.close() # 主程序 def main(): connect_wifi(SSID, PASSWORD) i2s = init_i2s() volume = 1.0 # 设置音量,范围为0.0到1.0 play_mp3(MP3_URL, i2s, volume) if __name__ == '__main__': main()
Copyright © 2014 ESP56.com All Rights Reserved
晋ICP备14006235号-22 晋公网安备14108102001165号
执行时间: 0.0096869468688965 seconds