MovieStim3

(訳注:MovieStim3は原文に掲載されていないが、MovieStimが事実上バグ修正されなくなっているため訳しておく。一般的な視覚刺激オブジェクトにはないデータ属性、メソッドの解説に限る。)

MovieStim3(win, filename='', units='pix', size=None, pos=(0.0, 0.0),
    ori=0.0, flipVert=False, flipHoriz=False, color=(1.0, 1.0, 1.0),
    colorSpace='rgb', opacity=1.0, volume=1.0, name='', loop=False,
    autoLog=True, depth=0.0, noAudio=False, vframe_callback=None,
    fps=None, interpolate=True)

PsychoPyで動画(mpeg, avi, etc...)を再生するクラスである。MovieStim3のデモが用意されているのでそちらを参照のこと。デモの動画ファイルへのパスは自分が使いたいファイルへのパスへ書き直す必要がある。MovieStim3を使用するためにavbinをインストールする必要はない(訳注:原文ではmovie2となっているが誤りだと思われる)。

MovieStim3を使用するにはmoviepyパッケージ(およびmoviepyが依存するimageio, Decoratorパッケージ)を必要とする。これらのパッケージは pip install moviepy でインストールすることが出来る。imageioは必要に応じてffmpegをダウンロードする。

既知の問題として、動画の音声ボリューム調整が出来ない、動画の読み込み時に音声トラック全体をロードするなどの点がある。今後、音声トラックはディスクからストリーミング再生するようにしたい。

draw(self, win=None)

現在のフレームをWindowオブジェクトに描画する。現在のフレームは自動的に決定される。

このメソッドは動画再生時にフレーム毎に呼び出される必要がある。

getCurrentFrameTime(self)

現在のフレームに対応するタイムスタンプを取得する。

getFPS(self)

動画のFPS(フレーム毎秒)を返す。

loadMovie(self, filename, log=True)

指定したファイルから動画を読み込む。読み込みが完了するとデータ属性durationに動画の再生時間が格納される。単位は秒である。

pause(self, log=True)

動画再生を一時停止する。play()で再開する。

play(self, log=True)

動画を再生する。一時停止後に再開する際にも用いる。

seek(self, timestamp, log=True)

引数timestampで指定した位置までシークする(再生位置を変更する)。

setFlipHoriz(self, newVal=True, log=True)

Trueならば左右反転して描画する。Falseならば通常通り描画する。反転はoriによる回転などを施す前のイメージに対して行われる。

setFlipVert(self, newVal=True, log=True)

Trueならば上下反転して描画する。Falseならば通常通り描画する。反転はoriによる回転などを施す前のイメージに対して行われる。

setMovie(self, filename, log=True)

loadMovie()と同一である。他の視覚刺激オブジェクトとの構文上の整合性を保つために用意されている。

setVolume(self, v)

(訳注:このメソッドはMovieStim3では機能しない。)

stop(self, log=True)

動画の再生を現在の位置で停止する。このメソッドで停止すると再生しなおすことは出来ない。再び再生するにはload()を実行し直す必要がある。従って、再生を再開する必要がある場合はpause()を使う方がよい。