OpenAL 音声バインディング
導入
プラットフォームに依存しない音声バインディングです。 » OpenAL ライブラリを必要とします。インストール手順
この » PECL 拡張 モジュールは PHP にバンドルされていません。この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 » http://pecl.php.net/package/openal.
この PECL 拡張モジュール の DLL を » PHP ダウンロード ページ または » http://snaps.php.net/ からダウンロードできます。
実行時設定
設定ディレクティブは定義されていません。リソース型
この拡張モジュールでは、 Open AL(Device) - openal_device_open() が返すもの、 Open AL(Context) - openal_context_create() が返すもの、 Open AL(Buffer) - openal_buffer_create() が返すもの および Open AL(Source) - openal_source_create() が返すものの 4 種類のリソース型が定義されています。定義済み定数
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。- ALC_FREQUENCY (integer)
- コンテキスト属性
- ALC_REFRESH (integer)
- コンテキスト属性
- ALC_SYNC (integer)
- コンテキスト属性
- AL_FREQUENCY (integer)
- バッファ設定
- AL_BITS (integer)
- バッファ設定
- AL_CHANNELS (integer)
- バッファ設定
- AL_SIZE (integer)
- バッファ設定
- AL_BUFFER (integer)
- ソース/リスナー 設定 (Integer)
- AL_SOURCE_RELATIVE (integer)
- ソース/リスナー 設定 (Integer)
- AL_SOURCE_STATE (integer)
- ソース/リスナー 設定 (Integer)
- AL_PITCH (integer)
- ソース/リスナー 設定 (Float)
- AL_GAIN (integer)
- ソース/リスナー 設定 (Float)
- AL_MIN_GAIN (integer)
- ソース/リスナー 設定 (Float)
- AL_MAX_GAIN (integer)
- ソース/リスナー 設定 (Float)
- AL_MAX_DISTANCE (integer)
- ソース/リスナー 設定 (Float)
- AL_ROLLOFF_FACTOR (integer)
- ソース/リスナー 設定 (Float)
- AL_CONE_OUTER_GAIN (integer)
- ソース/リスナー 設定 (Float)
- AL_CONE_INNER_ANGLE (integer)
- ソース/リスナー 設定 (Float)
- AL_CONE_OUTER_ANGLE (integer)
- ソース/リスナー 設定 (Float)
- AL_REFERENCE_DISTANCE (integer)
- ソース/リスナー 設定 (Float)
- AL_POSITION (integer)
- ソース/リスナー 設定 (Float Vector)
- AL_VELOCITY (integer)
- ソース/リスナー 設定 (Float Vector)
- AL_DIRECTION (integer)
- ソース/リスナー 設定 (Float Vector)
- AL_ORIENTATION (integer)
- ソース/リスナー 設定 (Float Vector)
- AL_FORMAT_MONO8 (integer)
- PCM フォーマット
- AL_FORMAT_MONO16 (integer)
- PCM フォーマット
- AL_FORMAT_STEREO8 (integer)
- PCM フォーマット
- AL_FORMAT_STEREO16 (integer)
- PCM フォーマット
- AL_INITIAL (integer)
- ソースの状態
- AL_PLAYING (integer)
- ソースの状態
- AL_PAUSED (integer)
- ソースの状態
- AL_STOPPED (integer)
- ソースの状態
- AL_LOOPING (integer)
- ソースの状態
- AL_TRUE (integer)
- OpenAL が理解する boolean 値
- AL_FALSE (integer)
- OpenAL が理解する boolean 値
目次
- openal_buffer_create — OpenAL バッファを生成する
- openal_buffer_data — バッファのデータを読み込む
- openal_buffer_destroy — OpenAL バッファを削除する
- openal_buffer_get — OpenAL バッファのプロパティを取得する
- openal_buffer_loadwav — .wav ファイルをバッファに読み込む
- openal_context_create — 音声処理コンテキストを作成する
- openal_context_current — 指定したコンテキストを現在のコンテキストにする
- openal_context_destroy — コンテキストを削除する
- openal_context_process — 指定したコンテキストを処理する
- openal_context_suspend — 指定したコンテキストをサスペンドする
- openal_device_close — OpenAL デバイスを閉じる
- openal_device_open — OpenAL 音声レイヤを初期化する
- openal_listener_get — リスナーのプロパティを取得する
- openal_listener_set — リスナーのプロパティを設定する
- openal_source_create — ソースリソースを生成する
- openal_source_destroy — ソースリソースを削除する
- openal_source_get — OpenAL ソースのプロパティを取得する
- openal_source_pause — ソースを一時停止する
- openal_source_play — ソースの再生を開始する
- openal_source_rewind — ソースを巻き戻す
- openal_source_set — ソースのプロパティを設定する
- openal_source_stop — ソースの再生を停止する
- openal_stream — ソースのストリーム再生を開始する
OpenAL
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/07 16:33 UTC 版)
![]() | この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。(2020年12月) |
作者 | Loki Software |
---|---|
開発元 | クリエイティブテクノロジー |
最新版 |
2.1
/ 2010年7月20日 |
プラットフォーム | クロスプラットフォーム |
サポート状況 | Ver.2.1.0.0はCreative X-fiカードのみ対応 |
種別 | サウンドライブラリ |
ライセンス |
初期はBSDライセンス 1.1まではLGPL それ以降はプロプライエタリ |
公式サイト |
www![]() |
最新版 |
1.21.0
/ 2020年11月4日 |
---|---|
プログラミング 言語 | C |
プラットフォーム | クロスプラットフォーム |
種別 | サウンドライブラリ |
ライセンス | LGPL |
公式サイト |
openal-soft |
OpenAL (Open Audio Library) はクロスプラットフォームのオーディオAPIであるフリーソフト。マルチチャンネル3次元定位オーディオを効率よく表現するように設計された。APIのスタイルと慣習は意図的にOpenGLと似せてある。
歴史
ロキソフトウェア (Loki Software) が商用のWindows用ゲームをLinuxに移植しやすくするためにOpenALを開発したのがオリジナルである。ロキが消滅してしばらくの間はフリーソフトウェア/オープンソースのコミュニティで保守され、NVIDIAのnForceサウンドカードやマザーボードに実装されていた。現在はAppleやフリーソフトウェア/オープンソースの開発者の支援を受けながら、クリエイティブテクノロジーが開発の大部分とホスティングを担っている。
OpenGLの「アーキテクチャレビュー委員会 (ARB)」を手本に、OpenALでもARBの存在が宣言されているが、そのような組織がこれまでに設立されたことはなく、OpenALの仕様は主にメーリングリストで取り扱われ議論されている。
1.1からクリエイティブテクノロジーは実装をプロプライエタリとした。最後のオープンソース版はSubversionのリポジトリから入手可能である。しかし、OpenAL Softがオープンソース版の代替として広く普及した。
APIの構成と機能
OpenALの主要機能はソースオブジェクト、オーディオバッファ、単一のリスナーで処理される。ソースオブジェクトは、バッファ、ベロシティ、ポジション、サウンドの方向、サウンドの強度などへのポインタである。リスナーオブジェクトはベロシティ、リスナーの位置と方向、全てのサウンドに対する全体の利得である。バッファは8または16ビットのモノラルまたはステレオのPCM形式のオーディオデータである。レンダリングエンジンは距離による衰弱やドップラー効果などの計算を処理する。
エンドユーザーの視点から見れば、適切に記述されたOpenALアプリケーションであれば、仮想世界の三次元空間をユーザーが移動したものとしてとても自然に聞こえる。プログラマーの視点で見れば、OpenGLベースの既存の3D映像アプリケーションにちょっとした追加をするだけでこれを実現できる。
OpenGLの仕様と異なり、OpenALの仕様はAPIに2つのサブセクションを含む。実際のOpenAL関数コールで構成されるコア部分と、クロスプラットフォームを実現するためのコンテキストのレンダリングやリソースの使用状況やそのロックを管理するALC APIである。それに加え、OpenGLのGLUTと同様に上位レベルの「便利な」機能を提供するALUTライブラリが用意されている。
将来的な機能拡張のため、OpenALはエクステンションのメカニズムを有する。これにより各ベンダーはプロプライエタリなハードウェアの追加機能を実装するために独自のエクステンションをOpenALのディストリビューションに含めることができる。エクステンションは互換性が維持のため、ARBに提出して標準化することができる。ARBエクステンションは一定期間経過後にコアAPIに追加されることが望まれる。
移植性
このAPIは下記のプラットフォームで利用可能である。
- Android(OpenSL ES バックエンドなど)
- Amiga OS 3.x
- Bada
- BlackBerry Playbook
- BSD
- iOS (Core Audio)
- IRIX
- Linux(ALSA、OSS、PortAudio、PulseAudio バックエンド)
- Mac OS 8, 9
- OS X (Core Audio)
- Windows(DirectSound、Windows Multimedia API、Windows Multimedia Device API バックエンド)
- MorphOS
- Solaris
- PlayStation 2
- PlayStation 3
- PlayStation Portable
- Xbox
- Xbox 360
- ニンテンドー ゲームキューブ
- Wii
アプリケーション
ゲーム:
- Doom 3、Jedi Knight 2、Jedi Knight: Jedi Academy、Quake 4、Preyなどのid Software エンジンを利用したゲーム。
- Unreal 2、Unreal Tournament 2003、Unreal Tournament 2004、ポスタル²、America's ArmyなどのUnreal Technologyを利用したゲーム。
- バトルフィールド2, フリーダム・ファイターズ, ヒットマン and Psychonauts.
- 数多くのフリーソフトウェアやオープンソースのゲームでもOpenALが利用されている。WarsowやWarzone 2100がその例。
その他のアプリケーション:
OpenALのウェブサイトにてより完璧なリストを確認できる。
ラッパー
関連項目
外部リンク
OpenAL
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/10 00:49 UTC 版)
「Core Audio (Apple)」の記事における「OpenAL」の解説
macOS/iOS版のOpenAL。主にゲーム開発に使用されるクロスプラットフォーム・オープンソースのAPI。OpenAL 1.1をベースとしているが、macOSには独自拡張も含まれる。
※この「OpenAL」の解説は、「Core Audio (Apple)」の解説の一部です。
「OpenAL」を含む「Core Audio (Apple)」の記事については、「Core Audio (Apple)」の概要を参照ください。
- openalのページへのリンク