← Recipe: play packaged audio

5. Check and run

luastra/media · live media_state events · about 20 minutes
ready → playing → paused

Automated checks prove the contract; the preview separately proves audible playback in the current browser.

When to use it

Run from media-recipe after the manifest, Luau files, and assets/focus.wav are saved.

  • check and test must report PASS with one passing test.
  • Play begins only after an explicit user action, which satisfies common browser autoplay policy.
  • The progress text should advance from host events; app.render does not run on an application timer.
  • If decoding or playback fails, keep the last admitted state and show a bounded message.

Focused example

luastra check
luastra test
luastra run
# Wait for Status: ready, then press Play.
# Expect audible audio and Status: playing.
# Press Pause and expect Status: paused.

Complete inventory

View all pages in Recipe: play packaged audio
← Previous: 4. Replace tests/smoke.luauNext: 6. Separate command completion from live truth →