1.首先确定K210的SD卡工作正常,上电后显示“SDCard is mount,use SD!”,如下图所示:
2.视频文件要求是AVI格式,320(宽)*240(高),视频编码器"MJPEG",音频编码器"PCM u-Low,G.711(未压缩)"(或"删除音轨"),SD卡也无特殊要求,例如SanDisk 128G/FAT32可用,需放在SD卡根目录,下面给出一个演示文件,只有4M:
用于K210播放的视频演示文件,320*240,无音轨(无声音)-OS文档类资源-CSDN文库
顺便说一下,该视频来源于Mixkit - Awesome free assets for your next video project
该网站可以免费下载质量很好的视频(无音轨)、音乐、音效等。现在能够接触到的大部分视频是MP4格式,这里需要用到一个免费在线工具在线 & 免费地将 MP4 转换成 AVI — Convertio
视频转换时需参考以下设置:
音频可以选择"删除音轨"或"PCM u-Low,G.711( 未压缩)":
3.连接好开发板后,运行以下代码。需要注意的是AUDIO_PA_EN_PIN的设置,对于MaixBit开发板来说,由于无音频解码设备,要设为AUDIO_PA_EN_PIN = None。
from Maix import GPIO, I2S
from fpioa_manager import fm
import lcd
import video
import time
lcd.init()
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
# init i2s(i2s0)
i2s = I2S(I2S.DEVICE_0)
# config i2s according to audio info
i2s.channel_config(i2s.CHANNEL_1, I2S.TRANSMITTER, resolution=I2S.RESOLUTION_16_BIT,
cycles=I2S.SCLK_CYCLES_32, align_mode=I2S.RIGHT_JUSTIFYING_MODE)
# 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)
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)
v = video.open("/sd/mixkit.avi")
print(v)
v.volume(50)
while True:
if v.play() == 0:
print("play end")
break
v.__del__()