iOS で、ユーザーのオーディオ ストリームを解凍された形式で取得することは可能ですか? たとえば、MP3 はオーディオ解析に使用できる WAV として返されますか? 私は iOS プラットフォームに比較的慣れていないので、古いバージョンの iOS ではこれが不可能だったことを覚えています。iOS 4 がいくつかの高度な API を導入したことを読みましたが、これらのドキュメントやサンプルがどこにあるのかわかりません。
3 に答える
iOS 4.1以降のAPIを使用してもかまわない場合は、AVAssetReader
クラスや友達を使用してみてください。この同様の質問には、ビデオフレームを抽出する方法の完全な例があります。同じことがオーディオでも機能することを期待します。良い点は、リーダーが解凍のすべての詳細を処理することです。AVComposition
で合成を行って、複数のストリームをマージすることもできます。
これらのクラスはAVFrameworkの一部であり、読み取りだけでなく、独自のコンテンツを作成することもできます。
AppleのOpenALの例はhttp://developer.apple.com/library/mac/#samplecode/OpenALExample/Introduction/Intro.htmlにあり、Scene.mが興味を引くはずです。
Appleのドキュメントには、CoreAudioフレームワークがMP3を提供することを明確に示しているこの図があります。また、必要に応じて、より根本的な方法でオーディオユニットにアクセスできることも記載されています。
同じCoreAudioドキュメントには、MIDIの使用に関する情報も記載されています。
編集:あなたは今日運がいいです。
この例では、オーディオ ファイルが読み込まれ、AudioUnit グラフに供給されます。独自の AudioUnit をかなり簡単に作成して、このグラフに挿入し、PCM ストリームを適切に分析することができます。コールバック関数でそれを行うこともできますが、コールバックはできるだけ単純にすることが推奨されているため、これはおそらく良い考えではありません。