3

この質問が理にかなっていることを願っています.私は完全に迷っています....私のプロトアプリでは、マイクロ入力を記録して保存していますが、これまでのところまったく問題はありません.

何らかの分析を行う別のクラス (私ではなく C で記述) にデータのチャンクを渡すために、記録中にバッファーにアクセスする必要があります。

ブラウジングと読書に 1 日を費やしましたが、バッファにアクセスするには Audio Queues を使用する必要があるようです。問題は、構文が C であり、まったく理解できないことです:)

だから私の質問は:

1) 私が探しているものを達成する他の方法はありますか? 詳細な説明は必要ありません。いくつかのヒントだけを参照してください:) Audio Queues が唯一の方法であると 100% 確信しているわけではないので、質問しています。

2) Audio Queues に関する良いチュートリアルや例はありますか? Apple によるaurioTouchチュートリアルはあまり役に立ちませんでした (繰り返しますが、私は C を知りません)。私のような初心者が理解できる優れたチュートリアルに従うことで、Cでの問題を回避できました

どうもありがとう、そしてあなたが提供できるどんな助けにも感謝します。

4

1 に答える 1

3

良い質問。次のような他の人が書いたコードを使用できます。

ノボカイン- とても簡単です。(ただし、少なくとも私が使用した古いバージョンにはいくつかのバグがあります〜6か月前。モノラルとステレオの何か。)

Momu - C++ の非常に優れた機能 (ファイルには .mm 拡張子を使用する必要があります)

低レベルのオーディオプログラミングが必要な場合は、時間を節約できます。ただし、C の基本的なスキルはまだ必要です。この男をチェックしてください。彼の説明と熱意は素晴らしいです。

上記のすべてがあれば、C の優れたスキルを習得するために 1 ~ 2 日間の作業で準備が整います。

編集

基本的に、低レベルのオーディオを扱う場合は常に、float *audioBuffer;オーディオ サンプルと呼ばれる数値の C 配列 ( のように表される) を扱います。ループで循環し、いくつかの操作を行い、コピーし、どこかに送信し、分析します。

コピーするには、そのためのスペースを割り当てる必要があります。バッファの実際のバイト サイズは、numberOfSamples*sizeof(type) のように計算できます。

于 2013-09-21T17:23:55.893 に答える