gpt4 book ai didi

video - 如何在播放视频时禁用键盘输入?

转载 作者:行者123 更新时间:2023-12-04 03:33:52 25 4
gpt4 key购买 nike

我正在制作一个主视频无限循环运行的应用程序。当用户按下某个键时,比如“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();
}

最佳答案

您还可以使用 time()duration() Movie 的功能对象,在允许按下某个键之前检查视频是否尚未开始或是否已结束。

void draw() {
background(0);

image(vid0, 0, 0);
vid0.loop();
vid0.volume(10);

}

void keyPressed() {
if((vid1.time() == 0.0 || vid1.time() == vid1.duration()) && (vid2.time() == 0.0 || vid2.time() == vid2.duration())){
if (key == 'a' || key == 'A'){
vid0.pause();
//vid0.volume(0);
vid1.play();
}

if (key == 'b'|| key == 'B'){
vid0.pause();
vid2.play();
}
}
}

关于video - 如何在播放视频时禁用键盘输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67333121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com