SDK / @jackmorgan/phaser-player
Player SDK
A headless TypeScript player (and matching web component) for HLS playback, wallet sign-in, and per-stream payments. One dependency — the payment plumbing is abstracted away.
v1.4.2
MIT
▶ Try the actual player
Interactive
Neon Arboretum
Velour Static · Halfdream
—press play to see events fire…
Install
terminal
$ npm install @jackmorgan/phaser-playerQuickstart
player.ts
import { Player } from "@jackmorgan/phaser-player"; const player = new Player({ dailyCap: 1.00, autoPay: true }); await player.load("trk_abc123"); await player.connectWallet(); await player.play(); player.on("payment:confirmed", (e) => console.log(e.amount));
Player API
| Method | Returns | Description |
|---|---|---|
load(trackId) | Promise<Track> | Fetch metadata + HLS manifest. |
play() | Promise<void> | Start playback. |
pause() | void | Pause playback. |
connectWallet() | Promise<Address> | Opens the wallet connect sheet. |
setDailyCap(amount) | Promise<Permission> | Authorize a daily listening cap. |
Events
| Event | Payload |
|---|---|
track:loaded | { track } |
stream:started | { trackId } |
payment:confirmed | { amount, txHash } |
payment:failed | { reason, code } |
💡 GOOD TO KNOW
If autoPay: false, the player pauses after each track and emits payment:required.