2012-03-05 11 views
1

プロジェクトでは、iPhoneアプリでオーディオを処理する必要があります。誰かが私を正しい方向に向けることを願っています。iPhoneでオーディオを再生しながら複数のファイルをスキップするiOS

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

ABとCは私のことができるようにしたいと異なるオーディオファイルの場合:中断することなく

プレイA:

スタートAAAAAAAAAAAAAストップ

や遊びのAを開始し、オーバー続けますBとCを再生中に開始

開始AAABBBBBBBBCC停止

2つ以上の質問を同時に再生することが理想的です。レイテンシはそれほど重要ではありませんが、ファイル間をスキップすることで理想的にクリックや遅延が発生しないようにする必要があります。

私はAudio Queue Services(地獄のように見えます)を使ってOpenAlを盗聴しました。誰も私にラフの概要と、次の日を埋めるために費やすことができる一般的な方向を教えてもらえますか?

答えて

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

1

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

+0

ありがとう!オーディオユニットは確かに動作するはずですが、それでもあなたが行くことができ、習得しにくいほど低いです。私はiOSプログラミングで2ヶ月の経験があり、これを取り除くことができるいくつかのより高いレベルのライブラリを期待していました。その方向のアイデアは? OpenAl? FMODを試しましたが、スキップが機能しなくなりました。 – Spispeas

関連する問題