動画を扱う基礎的な方法をみてゆきます。
プロジェクト名は video とします。

以下、ofApp.hとofApp.cpp の違いに注意してください。
ofVideoPlayer オブジェクトを使うと、動画の読み込みや、再生などの操作を行うことができます。
まずはじめに ofApp.h ヘッダファイルに、 ofVideoPlayer オブジェクトを追加します。
class ofApp : public ofBaseApp {
public:
...略...
ofVideoPlayer movie;
};
次に、動画ファイルの読み込みと再生を行います。読み込みたい動画ファイル画像を bin/data/ に配置してください。
サンプルの動画ファイルはこちら。
fingers.mov
void ofApp::setup() {
ofBackground(255, 255, 255);
movie.load("fingers.mov"); // 動画ファイルの読み込み
movie.setLoopState(OF_LOOP_NORMAL);
movie.play();
}
void ofApp::update() {
movie.update();
}
void ofApp::draw() {
ofSetColor(255, 255, 255);
movie.draw(20, 20);
}
現在のフレーム数、再生時間、再生速度を表示させてみます。
void ofApp::draw() {
ofSetColor(255, 255, 255);
movie.draw(20, 20);
// 再生の状況をテキストで表示
ofSetColor(0, 0, 0);
ofDrawBitmapString("frame: " + ofToString(movie.getCurrentFrame()) + "/" + ofToString(movie.getTotalNumFrames()), 20, 380);
ofDrawBitmapString("duration: " + ofToString(movie.getPosition() * movie.getDuration(), 2) + "/" + ofToString(movie.getDuration(), 2), 20, 400);
ofDrawBitmapString("speed: " + ofToString(movie.getSpeed(), 2), 20, 420);
}
再生フレームや再生速度を変更できるようにします。