■AlphaOggLibrary 3.2HDR

■概要

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に近い存在でしょうか。
内部で32BitHDRレンダリングを行い、16Bitで出力します。
HDR設定を行うことで、出力限界を越えた波形でもノイズを出さずに出力することが出来ます。

・TVorbisFileDLL

DLLと動的リンクし関数を提供するクラス。
wuvorbis.dllと動的リンクし、全関数を提供します。

上記の再生クラスは決して賢い構造とは言えませんので、ここだけ使うというのも賢い選択です。

 

■使い方

このライブラリが用意するのは複数の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を解放する。