■AlphaOggLibrary 3.0
■概要
AlphaOggは、Ogg再生に+α機能を付加したライブラリです。
付属するSampleOggPlayerを実際に触ると機能がわかると思います。
■必要なDLL
OggVorbis再生用のDLLが必要です。
以前は本家のモノを利用していましたが、今VersionからはW.Dee氏の再生用に最適化されたDLLを用いるようにしました。
最新版は以下のURLから落としてください。
http://kikyou.info/tvp/#side_product
■機構
AlphaOggは以下のクラスから構成され、複数同時再生・フェードなどの機構を実現します。
・TOggData
独自形式のAlphaOggファイルや、Oggファイルを読み込んでデータを管理します。
単一再生はこれでも可能ですが、普通は複数同時再生が行えるTOggPlayerに渡して再生させます。
普段は主にOggのデータを読み込むだけの存在です。CD-ROMみたいなもんです。
・TOggPlayer
複数のTOggDataを管理し、複数同時再生を可能にします。
Mixerに近い存在でしょうか。
・TVorbisFileDLL
DLLと動的リンクし関数を提供するクラス。
wuvorbis.dllと動的リンクし、全関数を提供します。AlphaOggなんて重い再生機構つかってられっか〜という人はこれだけ使ってくださいな〜。
■使い方
このライブラリが用意するのは複数のOggファイルをWave波形にして出力するだけのものです。
ストリーミング再生環境については各自用意する必要があります。
詳しくは、付属のサンプルを見てください。
〜〜初期設定〜〜
・_VorbisfileInitializeでDLLを組み込む。
・TOggDataクラスを生成
・TOggPlayerクラスを生成
〜〜再生〜〜
・TOggDataクラスにOggデータ(ストリームorファイルネーム)を読み込ませる。
・TOggPlayerにTOggDataを登録(Load)
・TOggPlayerの操作メソッド(Play、Stop、TimeSeekなど)を使って再生させる。
〜ストリーミングサウンドWave波形更新部分〜
・TOggPlayerにレンダリング(Rendering)させる。
・ストリーミングサウンドに、TOggPlayerのレンダリングした結果(Offset)をコピーする。
〜〜解放〜〜
・TOggPlayerに登録されている曲を全部解除する(UnLoad)
・TOggDataを解放(Free)
・TOggPlayerを解放
・_VorbisfileFinalizeでDLLを解放する。