【问题标题】:Play Processing Video From Mouse Coordinates?从鼠标坐标播放处理视频?
【发布时间】:2021-01-30 22:18:08
【问题描述】:

我正在尝试制作一个程序来根据鼠标坐标的位置播放不同的视频。基本上打开一个普通窗口并四处移动鼠标,如果鼠标坐标在一组数字之间,则播放第一个视频。然后当鼠标坐标在另一组数字之间时,播放视频2。

我编写了一个根据鼠标坐标更改文本的基本代码。摘录如下:

void setup() {
  size(934,887);
}

void draw(){
  background(0);
//if x is between 46 and 339 AND y is between 46 and 249, then 1
  if((46<mouseX && mouseX<339)&&(46<mouseY && mouseY<249)){
    textSize(20);
    text("1", width/2, height/2);
  }

//if x is between 46 and 339 AND y is between 249 and 464, then 2
  if((46<mouseX && mouseX<339)&&(249<mouseY && mouseY<464)){
    textSize(20);
    text("2", width/2, height/2);
  }

我想使用相同的概念,但现在播放不同的视频而不是显示不同的文本。我不知道该怎么做,因为我看到的处理视频教程有不同的 void 设置和 void draws 以及所有仅用于播放视频的东西,我不知道如何与我自己的鼠标跟踪代码结合使用。我需要创建多个窗口吗?那将如何运作?谢谢!

【问题讨论】:

    标签: video processing


    【解决方案1】:

    假设即使我们正在观看另一个视频,您也希望视频继续播放,这相当简单:我们在 setup() 方法中将不同的视频加载为 Movie 对象,然后让它们在鼠标循环播放坐标指示当前正在播放的视频。下面是一段代码 sn-p 来演示:

    import processing.video.*;
    Movie lightbulbs, sample360;
    
    void setup() {
      size(800, 600);
    
      lightbulbs = new Movie(this, "lightbulbs.mov");
      sample360 = new Movie(this, "360.mov");
    
      lightbulbs.loop();  // .play(); will play it once, .loop() will start over again after the last frame
      sample360.loop();
    }
    
    void draw() {
      background(0);
    
      if (mouseX < width/2) {
        image(lightbulbs, 0, 0);
      } else {
        image(sample360, 0, 0);
      }
      
      // here's a line so we see clearly where the movie changes in the example
      stroke(255);
      line(width/2, 0, width/2, height);
    }
    
    void movieEvent(Movie m) {
      m.read();
    }
    

    为了尽可能轻松地加载我的电影,我进入了草图的文件夹并创建了一个data 文件夹。处理将识别此文件夹,并且每当您尝试在未指定路径的情况下加载文件时,它会在其中查找它(所以我保存了我的示例电影):

    电影有点重,所以我会让你弄清楚在哪里可以找到你自己的。 Peronnaly 我刚刚在 Google 上搜索了“免费的 .mov 样本”并从那里随机挑选了一些。

    对我来说,它是这样的(它在旅途中调整大小以使文件更轻):

    如果您有任何问题,我会随时待命,但我认为这会尊重您的基本概念并完成工作。玩得开心!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-03
      • 1970-01-01
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多