Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
54 lines (42 sloc) 1.33 KB
from fpioa_manager import *
from Maix import I2S, GPIO
import audio
########### settings ############
WIFI_EN_PIN = 8
# AUDIO_PA_EN_PIN = None # Bit Dock and old MaixGo
AUDIO_PA_EN_PIN = 32 # Maix Go(version 2.20)
# AUDIO_PA_EN_PIN = 2 # Maixduino
# disable wifi
fm.register(WIFI_EN_PIN, fm.fpioa.GPIO0, force=True)
wifi_en=GPIO(GPIO.GPIO0, GPIO.OUT)
wifi_en.value(0)
# open audio PA
if AUDIO_PA_EN_PIN:
fm.register(AUDIO_PA_EN_PIN, fm.fpioa.GPIO1, force=True)
wifi_en=GPIO(GPIO.GPIO1, GPIO.OUT)
wifi_en.value(1)
# register i2s(i2s0) pin
fm.register(34,fm.fpioa.I2S0_OUT_D1, force=True)
fm.register(35,fm.fpioa.I2S0_SCLK, force=True)
fm.register(33,fm.fpioa.I2S0_WS, force=True)
# init i2s(i2s0)
wav_dev = I2S(I2S.DEVICE_0)
# init audio
player = audio.Audio(path = "/sd/6.wav")
player.volume(40)
# read audio info
wav_info = player.play_process(wav_dev)
print("wav file head information: ", wav_info)
# config i2s according to audio info
wav_dev.channel_config(wav_dev.CHANNEL_1, I2S.TRANSMITTER,resolution = I2S.RESOLUTION_16_BIT ,cycles = I2S.SCLK_CYCLES_32, align_mode = I2S.RIGHT_JUSTIFYING_MODE)
wav_dev.set_sample_rate(wav_info[1])
# loop to play audio
while True:
ret = player.play()
if ret == None:
print("format error")
break
elif ret==0:
print("end")
break
player.finish()
You can’t perform that action at this time.