FineKernelToolKit 4.2.13
|
Ogg Vorbis オーディオバッファクラス [詳解]
#include <FK/Audio.h>
公開メンバ関数 | |
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_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_Model * | getModel (void) |
サラウンド音源同期モデル取得関数 | |
void | setReferenceDist (double dist) |
サラウンド音源有効距離設定関数 | |
double | getReferenceDist (void) |
サラウンド音源座有効距離取得関数 | |
void | setSurroundMode (bool mode) |
サラウンド効果状態設定関数 | |
bool | getSurroundMode (void) |
サラウンド効果状態取得関数 | |
その他の継承メンバ | |
![]() | |
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_Model * | getListenerModel (void) |
サラウンドリスナーモデル取得関数 | |
Ogg Vorbis オーディオバッファクラス
このクラスは、Ogg Vorbis 形式のファイルに格納された音声を、 オンメモリで再生する機能を提供します。
このクラスは、ファイルを読み込む時点で全ての音声データをメモリ上に展開します。 これにより、頻繁な再生と停止を繰り返したり、 seek() を頻繁に用いて再生位置を変更するといった、 即応性の高い再生を可能としています。 短くて頻繁に再生と停止を繰り返すような、効果音などの音源に適しています。 また、サラウンドにも対応しています。
しかしながら、全てのデータをメモリ上に展開するという仕様上、 巨大な音声データを入力した場合にはかなりのメモリを使用してしまいます。 長尺で単調に再生するような BGM 再生などの用途には向いていません。 そのような用途を想定する場合は、 fk_AudioStream クラスを利用して下さい。
また、Wave 形式のファイルを再生したい場合は fk_AudioWavBuffer クラスを利用してください。 本クラスとほぼ同一の機能を持ちます。
なお、本クラスは fk_AudioBase クラスの派生クラスであり、 音量やループ再生の制御、サラウンド効果の使用といった機能の利用については fk_AudioBase のメンバ関数を用いて行います。
FK::fk_AudioOggBuffer::fk_AudioOggBuffer | ( | void | ) |
コンストラクタ
|
virtual |
デストラクタ
|
virtual |
オーディオデータ読み込み関数
Ogg Vorbis 形式のファイルを指定することで、 音声データを読み込みます。
[in] | filename | ファイル名。 |
FK::fk_AudioBaseを実装しています。
FK::fk_AudioWavBufferで再実装されています。
|
virtual |
再生開始可能状態取得関数
open() によってファイルから音声を入力した後、 再生可能な状態になっているかどうかを取得します。
FK::fk_AudioBaseを実装しています。
|
virtual |
再生関数
実際に音声の再生を行う関数です。 この関数は、再生を行いたい状況においては1秒に数回以上の割合で、 連続して実行する必要があります。 通常は、画面更新のためのメインループ中に一度ずつ実行します。
FK::fk_AudioBaseを実装しています。
|
virtual |
再生位置取得関数
現在の再生位置を返します。単位は秒です。 この関数が返す値は再生時間ではなく、 音源での始端からの時間となります。
FK::fk_AudioBaseを実装しています。
|
virtual |
|
virtual |
停止関数
音声の再生を停止し、再生位置も初期化します。 この後に play() を実行した場合、 停止位置ではなく始端(または指定した箇所)から再生されます。 一時停止を行いたい場合は fk_AudioBase::pause() を利用して下さい。
FK::fk_AudioBaseを実装しています。
|
virtual |