Fix RPG Maker MV/MZ audio startup failures on iOS/PWA. Use when mobile shows boot-time stack traces in rpg_managers.js AudioManager.createBuffer/checkWebAudioError, when .ogg to .m4a conversion is needed, when plugin audioFileExt overrides conflict with core expectations, or when Service Worker cache keeps stale/broken audio/runtime files.
針對 RPG Maker MV/MZ 的 iOS/PWA 音訊啟動崩潰進行快速定位與修復。
AudioManager.createBuffer、SoundManager.preloadImportantSounds、AudioManager.checkWebAudioError。$dataSystem.sounds[0..3])對應檔案存在。AudioManager.audioFileExt 仍是函式,且不被外掛覆寫成字串屬性。CACHE_NAME,避免手機吃到舊 JS/舊 m4a。AudioManager.audioFileExt 必須是可呼叫函式,核心會執行 this.audioFileExt()。.m4a 路徑時,轉檔輸出要統一成 AAC-LC + 44.1kHz + 2ch。-map 0:a:0 -vn,避免 OGG 附帶圖片流造成 m4a 封裝失敗。scripts/convert-ogg-to-m4a.ps1references/ios-startup-bug-postmortem.mdscripts/convert-rpgmvo-to-rpgmvm.jsSet-Location <repo-root>./.github/skills/rpgmaker-audio-ios-fix/scripts/convert-ogg-to-m4a.ps1 -AudioRoot ./www/audio -OverwriteFailed=0。www/audio 下每個 .ogg 都有同名 .m4a。codec_name=aac, profile=LC, sample_rate=44100。audioFileExt 用 Object.defineProperty 改成 getter 字串,會導致 this.audioFileExt is not a function。../rpgmaker-mobile-guide/SKILL.md../rpgmaker-pocketbase-cloudsave/SKILL.md