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

オーディオストリームクラス [詳解]

#include <FK/Audio.h>

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

公開メンバ関数

 fk_AudioStream (void)
 コンストラクタ
 
virtual ~fk_AudioStream ()
 デストラクタ
 
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 形式のファイルに格納された音声の、 ストリーミング再生機能を提供します。

このクラスでの再生は、再生時にファイルの一部分のみを読み込み、 再生が進む過程で逐次ファイルの読み込みを行います。 従って、巨大なファイルの入力であってもメモリの使用量を節約できます。 長尺でループするような、BGM などの音源に適しています。

一方、頻繁な停止と再生の繰り返し、 seek() を頻繁に用いた再生位置の変更、 即応性のある再生には対応できません。 そのため効果音等には向いていません。 効果音を制御するような用途としては、 fk_AudioOggBuffer, fk_AudioWavBuffer が適しています。

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

参照
fk_AudioBase, fk_AudioOggBuffer, fk_AudioWavBuffer

構築子と解体子

◆ fk_AudioStream()

FK::fk_AudioStream::fk_AudioStream ( void  )

コンストラクタ

◆ ~fk_AudioStream()

virtual FK::fk_AudioStream::~fk_AudioStream ( )
virtual

デストラクタ

関数詳解

◆ open()

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

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

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

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

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

◆ ready()

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

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

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

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

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

◆ play()

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

再生関数

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

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

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

◆ tell()

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

再生位置取得関数

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

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

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

◆ seek()

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

再生位置頭出し関数

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

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

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

◆ stop()

void FK::fk_AudioStream::stop ( void  )
virtual

停止関数

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

参照
fk_AudioBase::pause()

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

◆ end()

void FK::fk_AudioStream::end ( void  )
virtual

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

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

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

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