for (const track of [
...vout.srcObject.getTracks(),
...vout_untilended.srcObject.getTracks(),
]) {
ok(track.muted, `${track.kind} track ${track.id} should be muted`);
}
await new Promise(r => v.onended = r);
isGreaterThanOrEqualEps(v.currentTime, test.duration, "checking v.currentTime at first 'ended' event");
await Promise.all([
new Promise(r => vout.onended = r),
new Promise(r => vout_untilended.onended = r),
]);
isGreaterThanOrEqualEps(vout.currentTime, contentDuration, "checking vout.currentTime at first 'ended' event");
ok(vout.ended, "checking vout has actually ended");
ok(vout_untilended.ended, "checking vout_untilended has actually ended");
is(v.currentTime, seekTime, "Finished seeking");
is(vout.currentTime, voutPreSeekCurrentTime, "checking vout.currentTime has not changed after seeking");
v.play();
vout.play();
await new Promise(r => v.onended = r);
isGreaterThanOrEqualEps(v.currentTime, test.duration, "checking v.currentTime at second 'ended' event");
await new Promise(r => vout.onended = r);
isGreaterThanOrEqualEps(vout.currentTime,
(test.duration - seekTime) + contentDuration, "checking vout.currentTime after seeking and playing through again");
await new Promise(r => v.onended = r);
isGreaterThanOrEqualEps(v.currentTime, test.duration, "checking v.currentTime at third 'ended' event");
await new Promise(r => vout.onended = r);
isGreaterThanOrEqualEps(vout.currentTime,
(test.duration - seekTime) + contentDuration*2, "checking vout.currentTime after seeking, playing through and reloading");
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.