3

OS 10.6 での Audio Queue Services のドキュメントに、ピッチ パラメータが含まれるようになりました。

kAudioQueueParam_Pitch Audio Queue の再生をピッチシフトするためのセント数。範囲は -2400 ~ 2400 セント (1200 セントは音楽の 1 オクターブに相当)。このパラメータは、タイム/ピッチ プロセッサが有効な場合にのみ使用できます。

同じドキュメントの他のセクションでは、使用可能なパラメーターはボリュームのみであり、上記の時間/ピッチ プロセッサへの参照は見つかりません。

これが何を指しているのか誰か知っていますか?パラメータに値を直接書き込んでも、再生には影響しません (ただし、エラーはスローされません)。同様に、ボリューム設定の書き込みも機能します。

Apple からのサポートがないのはいつものようにイライラします。

4

1 に答える 1

2

これは、iOS 7 までは OSX でのみ利用可能です。AudioQueue.h を見ると、条件付きで iOS 7 でのみ利用可能であることがわかります。うまくいけば、以下はクロスプラットフォームです]

また、time_pitch アルゴリズムを設定する前に time_pitch のキューを有効にする必要があり、スペクトル アルゴリズムのみがピッチをサポートします (それらはすべてレートをサポートします)。

result = AudioQueueNewOutput(&(pAqData->mDataFormat), aqHandleOutputBuffer, pAqData,
                             0, kCFRunLoopCommonModes   , 0, &(pAqData->mQueue));
// enable time_pitch
UInt32 trueValue = 1;
AudioQueueSetProperty(pAqData->mQueue, kAudioQueueProperty_EnableTimePitch, &trueValue, sizeof(trueValue)); 
UInt32 timePitchAlgorithm = kAudioQueueTimePitchAlgorithm_Spectral; // supports rate and pitch
 AudioQueueSetProperty(pAqData->mQueue, kAudioQueueProperty_TimePitchAlgorithm, &timePitchAlgorithm, sizeof(timePitchAlgorithm));
于 2013-08-23T20:36:56.163 に答える