Ogg Vorbis オーディオ ファイルを iPhone SDK で再生できるかどうか、またはこれを可能にするライブラリまたはフレームワークが存在するかどうかを知りたいです。
OpenALについて何か読んだことがありますが、チュートリアルが見つかりません...誰か助けてくれますか??
遅いよりはましです ;)
ここで答えを見つけましたプロジェクトで ogg ファイルを再生するために cocos2d を使用しますか? .
PASoundMgr は、ogg ファイルの再生をサポートしていた別のサウンド エンジンです。ただし、iOS 2.x 以降は更新されておらず、それ以降発生した多数の問題が処理されていません。
なぜ ogg ファイルを再生する必要があるのですか? それらを aac に変換すると、CPU 使用率の観点からはるかに効率的なハードウェア デコードを使用して再生できるようになります。
彼らはPASoundMgrについて言及しました。それは私のために働いた。cocos2d フレームワークからすべてのファイル -> SoundEngineTestが基づいていたライブラリーをコピーしました。そして、不要なコードを取り除きました。
iOS 5.* シミュレータには注意してください。サウンド ライブラリに問題があります。私のデモは 4.3 シミュレーターとデバイスで動作します。
デモを作成するために行った手順は次のとおりです。
まず、cocos2d-iphone フレームワークが必要です。私はすでに持っていますが、ここcocos-2d_downloadで見つけることができます。
お気づきのように、SoundEngineTest はlibvorbis.aに依存しています。external/Tremor
グループのファイルで構成されたライブラリです。また、OpenAl、AudioToolbox フレームワークに依存します。
すべてのファイルをtremorグループからプロジェクトにコピーしました。「vorbis」Cocoa Touch Static Libraryを ARC なしで作成。そして、すべてのソース ファイルとヘッダーを [ビルド フェーズ] タブの "vorbis" ターゲットに追加しました。
OggPlayDemoのビルド フェーズで、ライブラリ (libvorbis、OpenAl、AudioToolbox) を [ Link Binary with Libraries ]ボックスに追加しました。
プロジェクトにPAクラスを追加しました。そしてOggPlayDemoをターゲットにチェック。ARC の問題を回避するために、この 3 つのPAファイルの ARC コンパイルを無効にしました。(単一ファイルの ARC を無効にするを参照)
すべての cocos2d 参照を削除しました。方向に応じてリスナーの位置を修正することに関連するコードがいくつかありました...コメントしました。オーディオを再生するだけの場合、この機能は必要ありません。
オーディオファイルをコピーしました。
最後に、このコードを ViewController に追加しました。
- (void)viewDidLoad
{
[super viewDidLoad];
//init
[PASoundMgr sharedSoundManager];
[[[PASoundMgr sharedSoundManager] listener] setPosition:CGPointMake(0, 0)];
self.audioSource = [[PASoundMgr sharedSoundManager] addSound:@"trance-loop" withExtension:@"ogg" position:CGPointMake(0, 0) looped:YES];
// lower music track volume and play it
[self.audioSource setGain:0.5f];
}
- (IBAction)play:(id)sender {
[self.audioSource playAtListenerPosition];
}
Cricket Audioは特に ogg ファイルを再生し、iOS/Android/WP8 で動作します。