語りが音を占める長さ(秒)。
鳴り終わった(または止められた)ときに解決する。
モーラ列(口パク・字幕送り用)。時刻は startTime 基準の秒で、計画どおりの値
("shift" のずれは含まない。ずれた後のモーラは shiftSec だけ遅れて鳴る)。
今の再生位置(morae と同じ軸の秒。最初のモーラが 0、鳴る前は負)。
実際に置いた音から測るので、合成待ちで空いた間は進まず、単調に増える。
字幕送り・口パクは morae.filter((m) => m.startSec <= handle.position()) のように
これと比べれば、"shift" のずれがあっても音と揃う。
ReadonlyshiftlateChunks: "shift" で、最初のチャンクを置いたあとに後続を後ろへずらした合計(秒。
読むたびに今の値を返す)。0 なら計画どおり。"skip" では常に 0。
まだ鳴っていないモーラは startTime + shiftSec + mora.startSec 以降に鳴る。
最初のモーラが鳴る AudioContext クロック秒。
awaitRender: false かつ lateChunks: "shift" で最初のチャンクがまだ無いうちは
見込みで、最初のチャンクが届いて置かれた時点で確定する(読むたびに今の値を返す)。
それ以外では返った時点で確定している。
この発話だけを即停止する(他の語り・歌には触らない)。
単発の語り 1 回ぶんのハンドル。