2016-01-10 49 views
0

我目前正在製作一個代碼,當按下一個按鍵時將拉動三個隨機視頻。正在處理視頻通話

例如,當按下「A」鍵時,代碼將隨機選擇分配給該鍵的三個視頻文件中的一個並播放。

然而,此刻的問題是,當我運行的素描時,我得到了錯誤的代碼行「無法加載電影文件2」 35

  1. 爲myMovie =新電影(這一點,「」 + int(random(1,3)));

    和1和3相同。我已經制作了草圖,可以單獨播放每個視頻,以查看視頻文件是否存在問題,但仍無法找到任何文件。視頻通過素描和添加文件導入,並可在數據下的素描本文件中找到。

如果有人可以幫忙,我將不勝感激, 謝謝。 :)

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(); } 

}

我對代碼的佈局道歉我不知道該如何正確地複製和粘貼代碼到這條評論。

回答

0

這條線:

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

應該是這樣的:

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

謝謝您的快速響應:

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

你也可以從陣列獲取的文件名: ) 我試過這個o ut和我得到錯誤「無法加載電影file2.mov」 是因爲代碼調用名爲file2.mov文件? –

+0

看起來這是調用並播放視頻,但我只能聽到每個文件上的音頻,並且屏幕是白色的。儘管靠近! –

+0

@SamLeighCookson我的答案是,你需要確定你正在尋找什麼文件。在查找名爲'2'的文件之前,這顯然是不正確的。考慮在調用'new Movie()'構造函數之前打印出該值。但是,這聽起來像是你正在加載文件。如果您有其他問題,您可以考慮提出一個新問題。祝你好運! –