【问题标题】:Processing video calling处理视频通话
【发布时间】:2016-01-10 22:16:10
【问题描述】:

我目前正在编写一个代码,当一个按键被按下时,它会拉出三个随机视频。

例如,当按下“A”键时,代码将随机选择分配给该键的三个视频文件之一并播放。

但是,目前的问题是,当我运行草图时,我在代码行 35 上收到错误“无法加载电影文件 2”

  1. myMovie = new Movie(this, ""+int(random(1, 3)));

    对于 1 和 3 也是如此。我已经做到了,所以草图会单独播放每个视频,看看视频文件是否有问题,但它仍然找不到任何文件。这些视频是通过 Sketch 和 Add 文件导入的,它们位于 data 下的 sketchbook 文件中。

如果有人能提供帮助,我将不胜感激, 谢谢。 :)

import processing.video.*; 
boolean valid=false; 
String[] one = {  

"1.mp4", "2.mp4", "3.mov", "4.mov", "5.mov", "6.mov",   "7.mov",
"8.mov", "9.mov" };

 Movie myMovie;    
 
 int a = 0; 
 float md = 0; 
 float mt = 0;   

 void setup() {   
 size(400, 400, P2D); 
 }
 
 void draw() 
 {   
   if (valid){
    image(myMovie, 0, 0, width, height);   
    }   
 }   
 
 void keyPressed() 
 {
 if (key == 'a' || key == 'A')  
   {
    valid=true;
    myMovie = new Movie(this, ""+int(random(1, 3)));
    myMovie.play();   }
 else if (key == 's' || key == 'S')   
 {
   valid=true;
   myMovie = new Movie(this, ""+int(random(4, 6)));
   myMovie.play();   }
 else if (key == 'd' || key == 'D')   
 {
   valid=true;
   myMovie = new Movie(this, ""+int(random(7, 9)));
   myMovie.play();   }
 else   
 {
    myMovie.stop();   } 

}

我对代码的布局表示歉意,我不确定如何正确地将代码复制并粘贴到此评论中。

【问题讨论】:

    标签: video random processing


    【解决方案1】:

    这一行:

    myMovie = new Movie(this, ""+int(random(1, 3)));
    

    应该是这样的:

    myMovie = new Movie(this, int(random(1, 3)) + ".mov");
    

    您还可以从数组中获取文件名:

    myMovie = new Movie(this, one[int(random(1, 3))]);
    

    【讨论】:

    • 感谢您的快速响应 :) 我试过了,我收到错误“无法加载电影 file2.mov”,这是因为代码正在调用名为 file2.mov 的文件吗?
    • 这似乎是调用并播放视频,但是我只能听到每个文件的音频并且屏幕是白色的。不过越来越近了!
    • @SamLeighCookson 我的回答是,您需要确定要查找的文件。在您寻找一个名为2 的文件之前,这显然是不对的。考虑在调用new Movie() 构造函数之前打印出值。但是,是的,听起来您现在正在加载文件。如果您有其他问题,您可以考虑提出一个新问题。祝你好运!
    猜你喜欢
    • 2019-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    相关资源
    最近更新 更多