OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::VideoReader Class Reference

動画ファイルの読み込み More...

#include <VideoReader.hpp>

Public Member Functions

SIV3D_NODISCARD_CXX20 VideoReader ()
 デフォルトコンストラクタ More...
 
SIV3D_NODISCARD_CXX20 VideoReader (FilePathView path)
 動画ファイルをオープンします。 More...
 
bool open (FilePathView path)
 動画ファイルをオープンします。 More...
 
void close ()
 動画ファイルをクローズします。 More...
 
bool isOpen () const noexcept
 ファイルがオープンしているかを返します。 More...
 
 operator bool () const noexcept
 ファイルがオープンしているかを返します。 More...
 
bool readFrame (Image &image)
 動画ファイルから 1 フレーム読み込み、読み込み位置を 1 フレーム進めます。 More...
 
Size getSize () const noexcept
 動画の解像度を返します。 More...
 
double getFPS () const noexcept
 動画の FPS を返します。 More...
 
double getLengthSec () const
 動画の長さ(秒)を返します。 More...
 
void setCurrentFrameIndex (size_t index)
 次に読み込むフレームのインデックスを変更します。 More...
 
size_t getCurrentFrameIndex () const noexcept
 次に読み込むフレームのインデックスを返します。 More...
 
double getPosSec () const
 次に読み込むフレームの再生位置(秒)を返します。 More...
 
size_t getFrameCount () const noexcept
 動画のフレーム数を返します。 More...
 
double getFrameDeltaSec () const noexcept
 動画の 1 フレームあたりの時間(秒)を返します。 More...
 
double getProgress () const noexcept
 動画の再生位置を [0.0, 1.0] で返します。 More...
 
bool reachedEnd () const noexcept
 動画のフレームが終端に到達したかを返します。 More...
 
const FilePathpath () const noexcept
 動画ファイルのフルパスを返します。 More...
 

Detailed Description

動画ファイルの読み込み

Remarks
バックグラウンドで次のフレームを先読みしているため、setCurrentFrameIndex() を使わず順番にフレームを読み込むのが効率的です。

Constructor & Destructor Documentation

◆ VideoReader() [1/2]

SIV3D_NODISCARD_CXX20 s3d::VideoReader::VideoReader ( )

デフォルトコンストラクタ

◆ VideoReader() [2/2]

SIV3D_NODISCARD_CXX20 s3d::VideoReader::VideoReader ( FilePathView  path)
explicit

動画ファイルをオープンします。

Parameters
path動画ファイルのパス
Remarks
プラットフォームによって対応している動画ファイル形式が異なります。

Member Function Documentation

◆ close()

void s3d::VideoReader::close ( )

動画ファイルをクローズします。

◆ getCurrentFrameIndex()

size_t s3d::VideoReader::getCurrentFrameIndex ( ) const
noexcept

次に読み込むフレームのインデックスを返します。

Returns
次に読み込むフレームのインデックス

◆ getFPS()

double s3d::VideoReader::getFPS ( ) const
noexcept

動画の FPS を返します。

Returns
動画の FPS

◆ getFrameCount()

size_t s3d::VideoReader::getFrameCount ( ) const
noexcept

動画のフレーム数を返します。

Returns
動画のフレーム数

◆ getFrameDeltaSec()

double s3d::VideoReader::getFrameDeltaSec ( ) const
noexcept

動画の 1 フレームあたりの時間(秒)を返します。

Remarks
(1.0 / getFPS()) です。
Returns
動画の 1 フレームあたりの時間(秒)

◆ getLengthSec()

double s3d::VideoReader::getLengthSec ( ) const

動画の長さ(秒)を返します。

Returns
動画の長さ(秒)

◆ getPosSec()

double s3d::VideoReader::getPosSec ( ) const

次に読み込むフレームの再生位置(秒)を返します。

Returns
次に読み込むフレームの再生位置(秒)

◆ getProgress()

double s3d::VideoReader::getProgress ( ) const
noexcept

動画の再生位置を [0.0, 1.0] で返します。

Remarks
((double)getCurrentFrameIndex() / getFrameCount()) です。
Returns
動画の再生位置 [0.0, 1.0]

◆ getSize()

Size s3d::VideoReader::getSize ( ) const
noexcept

動画の解像度を返します。

Returns
動画の解像度

◆ isOpen()

bool s3d::VideoReader::isOpen ( ) const
noexcept

ファイルがオープンしているかを返します。

Remarks
この関数が true を返せば動画ファイルを読み込めます。
Returns
ファイルがオープンしている場合 true, それ以外の場合は false

◆ open()

bool s3d::VideoReader::open ( FilePathView  path)

動画ファイルをオープンします。

Parameters
path動画ファイルのパス
Remarks
すでに動画ファイルをオープンしている場合、それが先にクローズされます。
Returns
対応している動画ファイル形式で、ファイルのオープンに成功した場合 true, それ以外の場合は false

◆ operator bool()

s3d::VideoReader::operator bool ( ) const
explicitnoexcept

ファイルがオープンしているかを返します。

Remarks
この関数が true を返せば動画ファイルを読み込めます。
isOpen() と同じです。
Returns
ファイルがオープンしている場合 true, それ以外の場合は false

◆ path()

const FilePath& s3d::VideoReader::path ( ) const
noexcept

動画ファイルのフルパスを返します。

Returns
動画ファイルのフルパス

◆ reachedEnd()

bool s3d::VideoReader::reachedEnd ( ) const
noexcept

動画のフレームが終端に到達したかを返します。

Returns
動画のフレームが終端に到達した場合 true, それ以外の場合は false

◆ readFrame()

bool s3d::VideoReader::readFrame ( Image image)

動画ファイルから 1 フレーム読み込み、読み込み位置を 1 フレーム進めます。

Parameters
image読み込んだ画像の格納先
Remarks
image は動画の解像度に合わせてリサイズされます。image があらかじめ動画と同じ解像度になっているとリサイズが不要です。
したがって、動画の一連のフレームを読み込むときには、同じ Image オブジェクトを使い回すのが効率的です。
Returns
新しいフレームの読み込みに成功した場合 true, それ以外の場合は false

◆ setCurrentFrameIndex()

void s3d::VideoReader::setCurrentFrameIndex ( size_t  index)

次に読み込むフレームのインデックスを変更します。

Parameters
index変更後のインデックス

The documentation for this class was generated from the following file: