Micropython学习交流群 学习QQ群:786510434 提供多种固件下载和学习交流。
Micropython-扇贝物联 QQ群:31324057 扇贝物联是一个让你与智能设备沟通更方便的物联网云平台
Micropython学习交流群 学习QQ群:468985481 学习交流ESP8266、ESP32、ESP8285、wifi模块开发交流、物联网。
Micropython老哥俩的IT农场分享QQ群:929132891 为喜欢科创制作的小白们分享一些自制的计算机软硬件免费公益课程,由两位多年从事IT研发的中年大叔发起。
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.0083708763122559 seconds