PHP マニュアル
前のページ |  | 次のページ

# CVIII. oggvorbis

# 導入

OGG/Vorbis ファイルフォーマットは http://www.vorbis.com/ で定義されており、 音質の劣化を最小限に抑えた圧縮オーディオストリームを提供する仕組みです。 この拡張モジュールは、PHP の URL ラッパ を Ogg Vorbis に対応させます。読み込みモードで使用した場合は、以下の表の 6 つの PCM エンコーディングフォーマットのうちひとつを用いて OGG/Vorbis 圧縮データを PCM オーディオに展開します。

# 要件

この拡張モジュールは、`PHP >= 4.3.0`、 libogg >= 1.0 および libvorbis >= 1.0 を必要とします。

# 実行時設定

設定ディレクティブは定義されていません。

# インストール手順

oggvorbis は、一般的な PECL パッケージと同じ手順でインストールします。

-     $ pear install oggvorbis

- 出来上がった `oggvorbis.so` を適切な場所にコピーし、 `extension=oggvorbis.so` を `php.ini` ファイルに 追加するか、スクリプト中で `dl('oggvorbis.so');` を使用して動的に読み込みます。

# Context options

表 1. OGG/Vorbis のチューニングオプション

オプション | 定義 | モード | デフォルト
--- | --- | --- | ---
pcm_mode | 使用する PCM バイトエンコーディング形式。以下の定数を参照ください。 | Read / Write | `OGGVORBIS_PCM_S16_LE`
rate | PCM サンプリングレート。Hz 単位。 | Write only | `44100`
bitrate | Vorbis 平均ビットレート（ABR）/ 可変ビットレート（VBR）。 bps 単位（ABR）あるいは品質レベル（VBR: 0.0 から 1.0）。 128000 ABR と 0.4 VBR がほぼ同じレベルです。 | Write only | `128000`
channels | PCM チャネル数。1 == モノラル、2 == ステレオ。 | Write only | `2`
serialno | ファイル内のストリームのシリアル番号。ファイル内で一意である必要が あります。連結したファイル内でシリアル番号が重複してしまう可能性が あるため、エンコードの際には手動で一意の番号を割り当てるよう注意して ください。 | Write only | Random
comments | ファイルについてのコメントの連想配列。 `strtoupper($name) . "=$value"` 形式に変換されます。 注意: このオプションは、oggvorbis-0.1 では使用できません。 | Write only | `array('ENCODER' => 'PHP/OggVorbis, http://pear.php.net/oggvorbis')`

# 定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

表 2. OGG/Vorbis は、以下のフォーマットの PCM エンコーディングをサポートします

定数 | 定義
--- | ---
`OGGVORBIS_PCM_U8` | 符号なし 8 ビット PCM。
`OGGVORBIS_PCM_S8` | 符号付き 8 ビット PCM。
`OGGVORBIS_PCM_U16_LE` | 符号なし 16 ビット PCM。リトルエンディアンバイトオーダー。
`OGGVORBIS_PCM_U16_BE` | 符号なし 16 ビット PCM。ビッグエンディアンバイトオーダー。
`OGGVORBIS_PCM_S16_LE` | 符号付き 16 ビット PCM。リトルエンディアンバイトオーダー。
`OGGVORBIS_PCM_S16_BE` | 符号付き 16 ビット PCM。ビッグエンディアンバイトオーダー。

前のページ | ホーム | 次のページ
PDO_ODBC DSN | 上に戻る | 使用方法