FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
クラス | 公開メンバ関数 | 全メンバ一覧
FK::fk_AudioOggBuffer クラス

Ogg Vorbis オーディオバッファクラス [詳解]

#include <FK/Audio.h>

+ FK::fk_AudioOggBuffer の継承関係図
+ FK::fk_AudioOggBuffer 連携図

公開メンバ関数

 fk_AudioOggBuffer (void)
 コンストラクタ
 
virtual ~fk_AudioOggBuffer ()
 デストラクタ
 
bool open (const std::string &filename)
 オーディオデータ読み込み関数
 
bool ready (void)
 再生開始可能状態取得関数
 
bool play (void)
 再生関数
 
double tell (void)
 再生位置取得関数
 
void seek (double time)
 再生位置頭出し関数
 
void stop (void)
 停止関数
 
void end (void)
 オーディオデータ解放関数
 
- 基底クラス FK::fk_AudioBase に属する継承公開メンバ関数
 fk_AudioBase (void)
 コンストラクタ
 
virtual ~fk_AudioBase ()
 デストラクタ
 
void pause (void)
 ポーズ関数
 
void setGain (double gain)
 音量設定関数
 
double getGain (void)
 音量取得関数
 
void setQueueSize (int size)
 キューバッファサイズ設定関数
 
int getQueueSize (void)
 キューバッファサイズ取得関数
 
void setLoopMode (bool mode)
 ループモード設定関数
 
bool getLoopMode (void)
 ループモード取得関数
 
void setLoopArea (double start, double end)
 ループエリア設定関数
 
double getLoopStartTime (void)
 ループ開始点取得関数
 
double getLoopEndTime (void)
 ループ終了点取得関数
 
void setPosition (const fk_Vector &pos)
 サラウンド音源位置設定関数
 
fk_Vector getPosition (void)
 サラウンド音源座標取得関数
 
void setModel (fk_Model *model)
 サラウンド音源同期モデル設定関数1
 
void setModel (fk_Model &model)
 サラウンド音源同期モデル設定関数2
 
fk_ModelgetModel (void)
 サラウンド音源同期モデル取得関数
 
void setReferenceDist (double dist)
 サラウンド音源有効距離設定関数
 
double getReferenceDist (void)
 サラウンド音源座有効距離取得関数
 
void setSurroundMode (bool mode)
 サラウンド効果状態設定関数
 
bool getSurroundMode (void)
 サラウンド効果状態取得関数
 

その他の継承メンバ

- 基底クラス FK::fk_AudioBase に属する継承静的公開メンバ関数
static bool init (void)
 オーディオシステム初期化関数
 
static bool getInit (void)
 オーディオシステム初期化状態取得関数
 
static void sleep (double time)
 プロセススリープ関数
 
static void setListenerModel (fk_Model *model)
 サラウンドリスナー同期モデル設定関数1
 
static void setListenerModel (fk_Model &model)
 サラウンドリスナー同期モデル設定関数2
 
static fk_ModelgetListenerModel (void)
 サラウンドリスナーモデル取得関数
 

詳解

Ogg Vorbis オーディオバッファクラス

このクラスは、Ogg Vorbis 形式のファイルに格納された音声を、 オンメモリで再生する機能を提供します。

このクラスは、ファイルを読み込む時点で全ての音声データをメモリ上に展開します。 これにより、頻繁な再生と停止を繰り返したり、 seek() を頻繁に用いて再生位置を変更するといった、 即応性の高い再生を可能としています。 短くて頻繁に再生と停止を繰り返すような、効果音などの音源に適しています。 また、サラウンドにも対応しています。

しかしながら、全てのデータをメモリ上に展開するという仕様上、 巨大な音声データを入力した場合にはかなりのメモリを使用してしまいます。 長尺で単調に再生するような BGM 再生などの用途には向いていません。 そのような用途を想定する場合は、 fk_AudioStream クラスを利用して下さい。

また、Wave 形式のファイルを再生したい場合は fk_AudioWavBuffer クラスを利用してください。 本クラスとほぼ同一の機能を持ちます。

なお、本クラスは fk_AudioBase クラスの派生クラスであり、 音量やループ再生の制御、サラウンド効果の使用といった機能の利用については fk_AudioBase のメンバ関数を用いて行います。

参照
fk_AudioBase, fk_AudioWavBuffer, fk_AudioStream

構築子と解体子

◆ fk_AudioOggBuffer()

FK::fk_AudioOggBuffer::fk_AudioOggBuffer ( void  )

コンストラクタ

◆ ~fk_AudioOggBuffer()

virtual FK::fk_AudioOggBuffer::~fk_AudioOggBuffer ( )
virtual

デストラクタ

関数詳解

◆ open()

bool FK::fk_AudioOggBuffer::open ( const std::string &  filename)
virtual

オーディオデータ読み込み関数

Ogg Vorbis 形式のファイルを指定することで、 音声データを読み込みます。

覚え書き
サラウンド効果を有効とするためには、 音源はモノラルでなければなりません。
引数
[in]filenameファイル名。
戻り値
入力に成功すれば true を、 失敗すれば false を返します。

FK::fk_AudioBaseを実装しています。

FK::fk_AudioWavBufferで再実装されています。

◆ ready()

bool FK::fk_AudioOggBuffer::ready ( void  )
virtual

再生開始可能状態取得関数

open() によってファイルから音声を入力した後、 再生可能な状態になっているかどうかを取得します。

覚え書き
本関数は、通常の利用においてはユーザが使用する必要はありません。
戻り値
再生可能状態であれば true を、 まだ再生の準備ができていない状態であれば false を返します。

FK::fk_AudioBaseを実装しています。

◆ play()

bool FK::fk_AudioOggBuffer::play ( void  )
virtual

再生関数

実際に音声の再生を行う関数です。 この関数は、再生を行いたい状況においては1秒に数回以上の割合で、 連続して実行する必要があります。 通常は、画面更新のためのメインループ中に一度ずつ実行します。

戻り値
音声再生が完了していない場合は true を、 完了している場合 false を返します。

FK::fk_AudioBaseを実装しています。

◆ tell()

double FK::fk_AudioOggBuffer::tell ( void  )
virtual

再生位置取得関数

現在の再生位置を返します。単位は秒です。 この関数が返す値は再生時間ではなく、 音源での始端からの時間となります。

戻り値
現時点での再生位置。
参照
seek()

FK::fk_AudioBaseを実装しています。

◆ seek()

void FK::fk_AudioOggBuffer::seek ( double  time)
virtual

再生位置頭出し関数

現在の再生位置を変更します。単位は秒です。

引数
[in]time再生位置。
参照
tell()

FK::fk_AudioBaseを実装しています。

◆ stop()

void FK::fk_AudioOggBuffer::stop ( void  )
virtual

停止関数

音声の再生を停止し、再生位置も初期化します。 この後に play() を実行した場合、 停止位置ではなく始端(または指定した箇所)から再生されます。 一時停止を行いたい場合は fk_AudioBase::pause() を利用して下さい。

参照
fk_AudioBase::pause()

FK::fk_AudioBaseを実装しています。

◆ end()

void FK::fk_AudioOggBuffer::end ( void  )
virtual

オーディオデータ解放関数

open() 等で確保したデータを解放します。

参照
open(), stop(), fk_AudioBase::pause()

FK::fk_AudioBaseを実装しています。