我正在处理电影。在电影反向播放期间,move.jump()函数无法正常工作。我有反向代码:
(reverse
是全局布尔变量)
float playSpeed = 1.0;
//After click reverse button
if(reverse == false){
playSpeed = playSpeed * -1;
movie.speed(playSpeed);
reverse = true;
}
else{
playSpeed = playSpeed * -1;
movie.speed(playSpeed);
reverse = false;
}
在reverse == true
期间,我单击某个按钮,然后跳转到某个时间,例如5.0,代码如下所示:
//after click button
if(reverse == true){
movie.jump(5.0);
}
这个跳转功能不起作用。它不会跳到5.0秒的电影帧。并显示一些错误:
ast_segment_set_seek: assertion 'start <= stop' failed
有人可以告诉我为什么跳转功能不起作用以及如何修复它? 谢谢。
答案 0 :(得分:1)
不确定您正在使用哪些课程,但是您不能只是制定解决方法吗?应该如此之快,用户不会注意到:
if (reverse) {
movie.speed(1f);
// jump();
movie.speed(playSpeed);
} else {
// jump();
}
顺便说一下反转可写为(如果需要,则为否):
reverse = !reverse;
playSpeed = -playSpeed;
movie.speed(playSpeed);
答案 1 :(得分:-1)
我知道答案,我自己弄明白了。 如果电影播放速度低于0,那么明星将不会停止。 所以,如果播放速度小于0,只要* -1,大于0,比跳跃大于* -1,让速度小于0。
if(reverse == true){
m.speed(playSpeed*-1);
m.jump(5.0);
m.speed(playSpeed*-1);
}