2015-11-18 4 views
2

Я довольно новичок в обработке, но я пытаюсь воспроизвести два видеофайла один за другим, но он воспроизводит только первый, а затем останавливается. Заранее благодарим за ваши предложения!Два видео, играющих один за другим в обработке

import processing.video.*; 

Movie mov; 
Movie mov2; 

boolean mo = true; 

void setup(){ 
    size(810, 540); 

    if (mo == true){ 
    mov = new Movie(this, "Vid5.mp4"); 
    mov.play(); 
    } 

    if (mov.time() >= mov.duration()){ 
    mov.stop(); 
    mo = false; 
} 
} 

void movieEvent(Movie m){ 
    m.read(); 

    if (mo == false){ 
    mov2 = new Movie(this, "Vid1.mp4"); 
    mov2.play(); 
    } 
} 

void draw(){ 
    if (mo == true){ 
    image(mov, 0, 0, width, height); 
    } else { 
    image (mov2, 0, 0, width, height); 
} 
} 

ответ

1

Ваш код будет намного легче читать с правильным отступом. Просто нажмите ctrl+t в редакторе обработки, и он будет автоматически отступать для вас.

Но ваша главная проблема в том, что вы только когда-либо проверяете, будет ли первый фильм исполнен, один раз, в самом начале вашего эскиза в функции setup().

Вместо этого вам необходимо постоянно проверять, сделан ли фильм. Вы можете сделать это с помощью функции draw(). Что-то вроде этого:

import processing.video.*; 

Movie mov; 
Movie mov2; 

boolean mo = true; 

void setup() { 
    size(810, 540); 

    mov = new Movie(this, "Vid5.mp4"); 
    mov.play(); 
} 

void movieEvent(Movie m) { 
    m.read(); 
} 

void draw() { 
    if (mo == true) { 
    image(mov, 0, 0, width, height); 
    } else { 
    image (mov2, 0, 0, width, height); 
    } 

    if (mo && mov.time() >= mov.duration()) { 
    mov.stop(); 
    mo = false; 
    mov2 = new Movie(this, "Vid1.mp4"); 
    mov2.play(); 
    } 
} 

Обратите внимание, что этот код не тестировался, так что вы, возможно, придется возиться с ним немного, но основной ответ является то, что вам нужно проверить, является ли первый фильм сделал больше, чем просто один раз начало вашего эскиза.

+0

Это работает! Спасибо огромное! Спасибо, что объяснили ошибку! – JoanneJ

Смежные вопросы