2.1 KiB
ASR maintenance
The current implementation is still in src/index.js. TypeScript migration and
resource ownership changes are tracked in the repository refactor plan as
PKG-ASR-02 through PKG-ASR-06. Do not interpret the baseline tests as completion.
- The default factory snapshots options. Registration creates the
asrlayer and subscribes to player play, pause, volumechange and destroy events. - Play creates an AudioContext and tries a media element source, then a captured
MediaStream source. An inline Blob contains the
recorder-processorWorklet. - Worklet messages supply first-channel Float32 samples. The interval callback
encodes little-endian mono PCM16 and a 44-byte-header WAV and invokes the
caller's
onAudioChunk({ pcm, wav }). A returned string replaces subtitles. appendsplits punctuation and sets HTML indiv.art-asr-line;hidechanges display only.src/style.lessowns layout and existing player CSS variables.stop()is actually asynchronous and releases audio resources, but retains playback subscriptions. It is not a permanent disable API. There is no publicstart()method. Public declarations currently describe stop as returning void.
This package does not implement recognition or open an ASR network connection. The demo service and its WebSocket belong to the caller. Do not run that service to validate audio capture; use local media and a local callback.
The initial implementation has suspected chunk loss, partial initialization cleanup and stale callback issues. Preserve the frozen historical tests while adding candidate regression tests when fixing these. Keep callback/stop typing compatible with historical assignments, and preserve public entrypoints, HTML rendering behavior, layer names and stylesheet identity.
From the repository root, yarn test:asr verifies historical public behavior;
yarn test:baseline includes archive provenance. yarn dev artplayer-plugin-asr
and yarn build artplayer-plugin-asr use repository build tools. Real browser
audio and lifecycle validation remains a separate required migration step.