現在、OpenAL を使用してゲーム音楽を再生しています。生の WAV ファイル以外では動作しないことを除けば、正常に動作します。これは、最終的に 9 MB のサウンドトラックになることを意味します。
私は OpenAL を初めて使用し、Apple の例から直接コードを使用しています ( https://developer.apple.com/library/ios/#samplecode/MusicCube/Listings/Classes_MyOpenALSupport_h.html%23//apple_ref/doc/ uid/DTS40008978-Classes_MyOpenALSupport_h-DontLinkElementID_9 ) を使用して、バッファー データを取得します。
質問: この関数を変更して、圧縮されたオーディオを読み取り、オンザフライでデコードする方法はありますか?
再生可能で圧縮されている限り(mp3、aac、cafなど)、オーディオファイル形式についてはあまり心配していません。私がこれをしたい唯一の理由は(明らかに)ファイルサイズを減らすことです。
編集:問題は、バッファを取得するために使用している方法ほどOpenALではないようです。https://developer.apple.com/library/ios/#samplecode/MusicCube/Listings/Classes_MyOpenALSupport_h.html%23//apple_ref/doc/uid/DTS40008978-Classes_MyOpenALSupport_h-DontLinkElementID_9の関数は、 とを使用AudioFileOpenURL
しAudioFileReadBytes
ます。ExtAudioFileOpenURL
andを使用してオーディオをデコードするフレームワークを取得する方法はありますExtAudioFileRead
か?
ここでコードを試しました: https://devforums.apple.com/message/10678#10678ですが、どうすればよいかわかりません。バッファを取得するために使用する関数はhttps://developer.apple.com/library/ios/#samplecode/MusicCube/Listings/Classes_MyOpenALSupport_h.html%23//apple_ref/doc/uid/DTS40008978-Classes_MyOpenALSupport_h-DontLinkElementID_9にあります。私は実際にそれを変更していないので、それを基に構築する必要があります。
私はこれが本当に必要なので、賞金を始めました。うまくいけば、誰かが私を正しい方向に向けることができます.