2.OggVorbis2 : デコーダをDLL化する


2.1.なぜ新たにDLLを作るのか

 前回Ogg Vorbisデコーダを作成しましたが、よく考えるとあまり意味がないような気がしました。C言語でプログラムを組んでいるような人なら自力で実装できるでしょうから。そこでDLLを作成してVBなど、C言語以外を使用している人でも簡単にOgg Vorbisが再生出来るようにします。

2.2.DLLを作成する

 まだOgg Vorbisの開発環境を用意していない人は、前回のの内容を元に環境を構築してください。
 自分で作成したい人はソースファイル(oggdll1.lzh)を、自分で作成せずに使いたい人はDLL(oggdll.lzh)をダウンロードしてください。

 ソースは殆ど前回のと同じです。ヘッダファイルが少し変わっただけですので、DLL作成の説明は省きます。

2.3.DLLを使用する

 LoadOggVorbisでデコードし、使い終わったらReleaseOggVorbisでメモリ領域を開放するだけです。LoadOggVorbisについてはlist1に、ReleaseOggVorbisについてはlist2に示します。

list1:LoadOggVorbis
		
long LoadOggVorbis(char *file_name, int word, char **ogg)

概要
    ファイルからOggVorbis形式のデータを読み込み、メモリ上へWAVE形式でデコー
  ドする。
    データが不要になったら ReleaseOggVorbis を用いて領域を開放しなくてはなら
  ない。

引数
    *file_name : 読み込むファイル名
    word       : 量子化バイト数
                 1 か 2 を指定する。
    **ogg      : データを格納するchar型のポインタへのポインタ

戻り値
    0 より小さい : エラー
    0 より大きい : サイズ

list2:ReleaseOggVorbis

void ReleaseOggVorbis(char **ogg)

概要
    LoadOggVorbisで確保されたデータ領域の開放を行う。

引数
    **ogg : LoadOggVorbisの第3引数と同じ物


2.4.後書き

 現在Vorbisfileのドキュメントを和訳しています。うまく訳せない所があるため公開にはまだしばらくかかりそうです。次のPrograming TipsはVorbisfileのドキュメントの和訳か圧縮アルゴリズムの予定です。



[index]

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル