1

プロジェクトでは、iPhone アプリで非常に特別なオーディオを処理する必要があり、誰かが私を正しい方向に向けてくれることを願っています。

同じ長さ (2 ~ 3 秒、非圧縮) の最大 30 個のオーディオ ファイルの固定セットがあるとします。キューが 1 つのオーディオ ファイルから再生されている間、前のオーディオ ファイルの再生が終了したのと同じタイムスタンプから、別のオーディオ ファイルから再生を継続させるパラメータを更新できる必要があります。異なるオーディオ ファイルが重度にフィルタリングされたオーディオの異なるバージョンである場合、それらの間を「スライド」して、フィルタを直接適用したような印象を受けることができるはずです。現時点では、フィルタリングを iPhone でリアルタイムに実現することはできないため、事前にレンダリングされたファイルです。

AB と C が異なるオーディオ ファイルの場合、次のことができるようにしたいと考えています。

中断せずに A を再生します。

スタート あああああああああ ストップ

または、プレイ A を開始し、プレイ中に開始された B、次に C で続行します。

スタート AAABBBBBBBBCC ストップ

理想的には、同時に 2 つ以上のキューをプレイできるようにする必要があります。待ち時間はそれほど重要ではありませんが、理想的には、ファイル間のスキップによってクリック音や遅延が発生しないようにする必要があります。

私はAudio Queue Services(飛び込むのは地獄のように見えます)の使用を調べ、OpenAlを嗅ぎました。ラフの概要と、次の日に没頭して過ごすことができる一般的な方向性を教えてくれる人はいますか?

4

2 に答える 2

1

iOS Audio Unit API、特にオーディオ出力用に RemoteIO に接続されたミキサー ユニットを使用してみてください。

于 2012-03-05T21:26:08.473 に答える
1

FMOD Designer を使用してこれを行うことができました。FMOD ( http://www.fmod.org/ ) は、iOS 開発をサポートする、ゲーム開発用のサウンド デザイン フレームワークです。サウンド クリップごとに異なるレイヤーを使用して、FMOD Designer でマルチトラック イベントを作成しました。リアルタイムで再生するサウンド クリップを制御できるパラメーターを水平バーに追加します。トリックは、各サウンドクリップをバー全体に継続させ、添付の写真のようにボリューム効果 (0-100%) を使用してどのサウンドが聞こえるかを制御することです。このようにして、ファイル間のスキップが同じタイムコードに従うことが保証されます。私はこれを最大 30 レイヤーで成功裏に試しましたが、いくつかの二重再生を経験しました。数を 15 に減らすと、これは消えるように見えました。

これに慣れている場合は、iOS Audio Unit API を使用できるはずですが、最もシンプルなソリューションが好きな私たちにとっては、FMOD が非常に優れています:)ソリューションのヒントを提供してくれたEllen Sに感謝します!

FMOD Designer のマルチトラック イベントのスクリーンショット: https://plus.google.com/photos/106278910734599034045/albums/5723469198734595793?authkey=CNSIkbyYw8PM2wE

于 2012-03-24T14:26:26.873 に答える