QVorbis (0.9.2) | 2009-09-09 12:00 |
QOgg は、Ogg Vorbis オーディオストリームのデコードライブラリである。 C 言語で記述され、C 関数 API を提供する。 QOgg ライブラリでは、QVorbis ライブラリを使用して、Ogg コンテナ内の Vorbis ストリーム をデコードすることができる。
使用前には、QVorbis ライブラリの初期化関数を呼び出す必要がある。
- struct QOV_Reader;
- typedef struct QOV_Reader QOV_Reader_t;
- QOV_Reader_t* QOV_CreateReader(void);
- void QOV_ReleaseReader(QOV_Reader_t* t);
- BOOL QOV_OpenReader(
- QOV_Reader_t* t,
- const WCHAR* path);
- BOOL QOV_OpenReader_IStream(
- QOV_Reader_t* t,
- IStream* p);
- const QOV_Format_t* QOV_GetFormat(
- QOV_Reader_t* t);
- BOOL QOV_Seek(
- QOV_Reader_t* t,
- INT64 sample);
- BOOL QOV_Decode(
- QOV_Reader_t* t,
- VOID* buffer,
- INT32 samples,
- INT32* output);
リーダーオブジェクトを作成する。
リーダーオブジェクトを解放する。
ローカルファイルから Ogg Vorbis ストリームを読みだす。
Windows IStream COM インターフェイスから Ogg Vorbis ストリームを読みだす。
QOgg ライブラリは、IStream::Stat() メソッドで、ストリームサイズを取得する。
オーディオフォーマットを取得する。
シークを実行する。シーク先は、サンプル位置を指定する。
ストリームをデコードし、PCM サンプルを取り出す。
PCM データは、16bit 符号つき整数で出力される。
samples は、デコードする最大サンプル数。
output は、実際にデコードされたサンプル数を返す。0 を返した場合は、ストリーム の終了を表す。最大値は、samples と同じとなるが、必ずしも最大値で返るわけではない。
buffer に用意すべきサイズは、samples * 2 * チャンネル数 (Byte) である。
SamplingRate サンプリングレート (Hz)
Channels チャンネル数 (1 or 2)
Duration ストリーム長 (サンプル数)
[PageInfo]
LastUpdate: 2009-07-30 14:30:41, ModifiedBy: noumiakira
[License]
GNU Free Documentation License
[Permissions]
view:all, edit:members, delete/config:members