【发布时间】:2021-04-30 11:29:55
【问题描述】:
我正在制作一个主视频无限循环运行的应用程序。当用户按下一个键时,比如说“a”,与之相关的视频就会播放,主视频在后台运行。没有因为主视频没有声音而暂停或停止也没关系。
问题是我想在用户的视频仍在播放时禁用键盘输入。我无法做到这一点。在我当前的代码中,当视频正在播放时,如果用户按下另一个键,那么与之关联的视频就会开始在已经播放的视频上播放。
谁能帮我弄清楚当视频已经在播放时如何禁用键盘输入?请帮我解释一下逻辑。提前致谢。
import processing.video.*;
import processing.sound.*;
Movie vid1, vid2, vid0;
boolean b1, b2 = false;
void setup()
{
size(1920, 1080);
vid1 = new Movie(this, "vid-01.mp4");
vid2 = new Movie(this, "fhv-2.mp4");
vid0 = new Movie (this, "main-vid-0.mp4");
frameRate(30);
//main.loop();
//main.play();
//main.stop();
//main.loop();
}
void draw()
{
background(0);
image(vid0, 0, 0);
vid0.loop();
vid0.volume(10);
if (b1 == true)
{
image(vid1, 0, 0);
if (vid1.time() == vid1.duration())
{
vid1.stop();
b1=false;
}
else{
vid0.volume(0);
//key = 0;
}
}
//vid2
if (b2 == true)
{
image(vid2, 0, 0);
if (vid2.time() == vid2.duration())
{
vid2.stop();
b2=false;
}
else{
vid0.volume(0);
//key = 0;
}
}
}
void keyPressed()
{
if (key == 'a' || key == 'A')
{
//vid0.volume(0);
vid1.play();
b1 = true;
}
if (key == 'b'|| key == 'B'){
vid2.play();
b2 = true;
}
}
void movieEvent(Movie m)
{
m.read();
}
【问题讨论】:
标签: video logic processing