Resolve on the next terminal transition (finished | paused |
idle). Reject on transitions to "error". Calling stop() or
reset() resolves the pending promise immediately. Calling
playToEnd also triggers play() if currently paused/idle.
playToEnd(): Promise<void>