MP3 のライセンス問題から、フリーのコーデックとして登場した Vorbis、 そしてその音楽ファイルフォーマットとして Ogg。 Ogg Vorbis SDK を使ったプログラミングについて取り上げてみます。
ここでは、Ogg Vorbis そのものについては特に説明しません。 ようは ogg ファイルを再生するためのプログラミングを行う、それが目的です。 まずは SDK を入手します。SDK はすばらしいことにフリー (SDK は BSD-like なライセンスとなっている。 詳細は COPYING ファイルを参照されたい) で以下のサイトで公開されています。
ここでは、libogg と libvorbis ソースを入手したとして、 それらをビルドするところから始めます。それぞれ本ページの作成時点で、 バージョンは 1.0.1 が公開されています。libogg-1.0.1.zip と libvorbis-1.0.1.zip をダウンロードし、それぞれ展開してください。
まずは、libogg からビルドします。libvorbis は libogg を内部で使用します。 ここでは、Visual C++ .net 2003 を開発環境の前提としますので、 以下のようにプロジェクトのコンバートを要します。
\libogg-1.1\win32 にある ogg.dsw を開きプロジェクトをコンバートします。 .net のソリューションファイル (ogg.sln) とプロジェクトファイル (ogg_dynamic.vcproj と ogg_static.vcproj) が生成されます。
次に、プロジェクトの設定を開き、構成プロパティの全般にある [ブラウザ情報のビルド] をはいにしておくことをお勧めします。 ビルドは [ビルド] - [ソリューションのビルド] で可能です。
次に、リリース用のビルドを行います。 構成マネージャ (ソリューションエクスプローラでソリューションを右クリック、 [構成マネージャ] を選択) を開き、 [アクティブソリューション構成:] を Release に変更します。 そのまま再度ビルドをおこなってください。
警告が出力されると思いますが、 正常終了で終わればこれで ogg のビルドは完了となります。 [ファイル] - [ソリューションを閉じる] により、Ogg ソリューションを閉じてください。
次に同様に vorbislib についてもビルドします。 libvorbis-1.0.1\win32 にある vorbis.dsw を開くと、6 つのプロジェクトの変換を 尋ねられるので、先ほど同様に変換を行います。
ここで、先ほどビルドした libogg が必要になります。 各プロジェクトのインクルードパスの修正と、 リンクするライブラリのディレクトリのパスを修正する必要があります。 ここで、インクルードパスはプロジェクト全体の設定として、 ライブラリはリリースビルドとデバッグビルドそれぞれにあわせて変更します。 以下に初期の設定と、修正する設定の対応を示します。
変更後、libogg 同様にデバッグビルドとリリースビルドをおこないます。 多少面倒ですが、一度だけですのでがんばりましょう。