← Back to proposal · Next steps
Appendix B
Needed for lyrics sync, option A re-record, and interrupt resume.
While recording or playing the backing track, the SDK keeps song time in ms from the start of the backing file (time zero = start of that file).
starmanch_karaoke/position
{ "positionMs": 12450, "isPlaying": true, "isRecording": true }
getPositionMs() if needed.
seekToMs(positionMs)seekToLyricLine(index) if lyric timings were loaded into the SDK
startMs from its own lyric file and calls
seekToMs.
StarManch supplies line timings (same data family as lyric sync / seek). Draft shape:
{
"version": 1,
"lines": [
{ "index": 0, "startMs": 0 },
{ "index": 1, "startMs": 4200 },
{ "index": 2, "startMs": 8100 }
]
}
The SDK reports positionMs. The app maps that to the last started line.
Exact-timestamp resume needs no extra file.