По моему опыту, в библиотеке обработки видео есть ошибка, точно сообщающая о времени воспроизведения и остановке / зацикливании.
Я рекомендую распечатать video.time()
в draw()
в качестве меры отладки, потому что вам может потребоваться повернуть это очень строгое == 10.0
до более слабого / менее точного порогового диапазона с учетом вероятности пропуска этого точного времени.
Например,
if (video.time() => 9.59) {
isToggled = false;
}
Off-topi c: Ваш код в целом это хорошо и читабельно. Не забывайте, что вы можете заменить:
background(0);
set(0,0,isToggled? video : video1);
на:
background(isToggled? video : video1);
или image(isToggled? video : video1,0,0);
В качестве альтернативы вы можете использовать третью ссылку Movie
, на которую вы указываете или video
или video1
в зависимости от вашего случая, устраняя необходимость в условии, заставляя вас всегда проверять, назначен ли эталон перед использованием.