私はいくつかのオーディオ処理を行っているため、C と Objective C を混合しています。OpenAL インターフェイスとオーディオ処理を処理するクラスをセットアップしました。クラスサフィックスをに変更しました
。んん
...オンラインの多くの例の中で Core Audio ブックで説明されているように。
.h ファイルで宣言され、.mm ファイルで実装された C スタイルの関数があります。
static void granularizeWithData(float *inBuffer, unsigned long int total) {
// create grains of audio data from a buffer read in using ExtAudioFileRead() method.
// total value is: 235377
float tmpArr[total];
// now I try to zero pad a new buffer:
for (int j = 1; j <= 100; j++) {
tmpArr[j] = 0;
// CRASH on first iteration EXC_BAD_ACCESS (code=1, address= ...blahblah)
}
}
変???はい、なぜそれが機能しないのかについてはまったく考えていませんが、次のように機能します。
float tmpArr[235377];
for (int j = 1; j <= 100; j++) {
tmpArr[j] = 0;
// This works and index 0 - 99 are filled with zeros
}
int 値を持つ「total」サイズの配列を宣言できない理由について、誰も手がかりを持っていますか? 私のプロジェクトでは ARC を使用していますが、これが問題を引き起こす理由がわかりません。デバッグ時に「合計」の値を出力すると、実際には正しい値です。誰かがアイデアを持っている場合は、助けてください、それは私を夢中にさせています!