Audio-Wiedergabe - API: Spielen Sie Musikdateien auf SD / U-Laufwerk und arbeiten mit der Player-Steuerung für einen vollständigen Musik-Player (Wiedergabe / Pause / oben und unten / Fortschrittsleiste / Lautstärke).
1. API Gesamtübersicht
| Funktion | Beschreibung |
|---|---|
play_sound(filename) | Abspielen von Audio, absoluter Pfad (z. B. "1: /music / xx.mp3") |
stop_sound() | Abspielen beenden |
pause_sound() | Pausen |
resume_sound() | Wiedergabe fortführen |
2. Player Control Adresstabelle
| Adresse | Zweck |
|---|---|
| LW1000 | Seite nach rechts |
| LW1001 | Vorherige / Nächste |
| LW1002 | Wiedergabe / Pause (Bit-Status - Anzeige: 0 - Pause / 1 - Fortsetzung) |
| LW1003 | Aktuelle Seite |
| LW1004 | Gesamtseitenzahl |
| LW1005 | SD Stammverzeichnis Lieder vorhanden (Bit-Status) |
| LW1100 ~ 1200 | Textliste des Titels |
| LW1240 | Aktuelle Wiedergabezeit |
| LW1250 | Gesamtzeit |
| LW1006 | Wiedergabefortschrittsleiste |
| LW0140 | Lautstärke |
3. Lautstärke Durchsuchen von SD-Kartensongs
musicNameListTb = {} -- 歌名列表缓存
curPlayIndex = 1
function on_sd_inserted(dir)
list_dir(dir) -- 列 SD 卡根目录
end
function on_list_dir(path, filename, type, fsize)
if type == 1 then
local ext = string.sub(filename, -4)
if ext == ".mp3" or ext == ".wav" then
table.insert(musicNameListTb, filename)
set_uint16(VT_LW, 0x1005, 1) -- 有歌标志
end
end
end4. Wiedergabe-Steuerungslogik
function on_update(slave, vtype, addr)
if vtype == VT_LW then
if addr == 0x1002 then
local v = get_uint16(VT_LW, 0x1002)
if v == 1 then
play_sound("1:/music/"..musicNameListTb[curPlayIndex])
else
pause_sound()
end
elseif addr == 0x1001 then
-- 上一首/下一首:切换 curPlayIndex 后重新播放
local v = get_uint16(VT_LW, 0x1001)
if v == 1 and curPlayIndex > 1 then
curPlayIndex = curPlayIndex - 1
elseif v == 2 and curPlayIndex < #musicNameListTb then
curPlayIndex = curPlayIndex + 1
end
play_sound("1:/music/"..musicNameListTb[curPlayIndex])
end
end
end
function on_run(screen)
updatMisPlayState() -- 检测播放状态,播完自动下一首
endAus dem VisualHMI-Entwicklungsdokument von Guangzhou Dacai Technology (hmi-doc.gz-dc.com) LUA-Tutorial "Audio Playback" zusammengestellt, das Urheberrecht liegt bei Dacai Technology.
Antwort veröffentlichen