私は、ユーザーがiPhoneで音楽トラックを選択し、それを聴いて、他の人とライブで共有できるようにするアプリに取り組んでおり、他の人が同じ曲を同期して聴くことができます.
私は次のプロトタイプを機能させることができました。作業中のバンドルにファイルを手動で追加し、AudioFileReadPacketsを使用してデコードし、GKSession を使用してネットワーク経由で送信します。
受信側では、オーディオ キュー/ストリーミング サービスを使用してストリームを読み取り、音楽を再生します (つまり、AudioFileStreamOpen、AudioFileStreamParseBytes、AudioQueueNewOutput、AudioQueueStart など。詳細については、こちらを参照してください)。
そうは言っても、iPhoneのファイルシステムからファイルを単純に読み取ってデコードすることはできないことがわかりました..むしろ、AVAssetReaderなどを使用する必要があります。Stack Over Flow でそれを行う例はたくさんありますが、それらは全体像を説明するのではなく、直接的な技術的な実装に焦点を当てています.Apple の開発者ガイド Web サイトから、包括的な GUID やドキュメントを見つけることができませんでした ( CMSampleBuffer リファレンスの説明を参照してください)。たとえば、関数パラメータに説明がないなど)。
ここで正しい方向に私を導く可能性のあるリンク/本/などはありますか? 具体的には、iPod ライブラリ内のオーディオ ファイルにアクセスし、AVAssetReader を使用してそれらをセグメント化して、ネットワーク経由でストリーミング形式で送信し、オーディオキュー/ストリーミング サービスを介して再生できるようにすることについてです。