Pau*_* T. 3 iphone audio fft frequency ios
我正在调查aurioTouch2示例代码.
我注意到,当我们分析音频数据时,我们只使用这个数据的第一个缓冲区,而不使用其他缓冲区.在void FFTBufferManager::GrabAudioData(AudioBufferList *inBL)功能:
UInt32 bytesToCopy = min(inBL->mBuffers[0].mDataByteSize, mAudioBufferSize - mAudioBufferCurrentIndex * sizeof(Float32));
memcpy(mAudioBuffer+mAudioBufferCurrentIndex, inBL->mBuffers[0].mData, bytesToCopy);
Run Code Online (Sandbox Code Playgroud)
在功能上
static OSStatus PerformThru(
void *inRefCon,
AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData)
if (THIS->displayMode == aurioTouchDisplayModeOscilloscopeWaveform)
{
AudioConverterConvertComplexBuffer(THIS->audioConverter, inNumberFrames, ioData, THIS->drawABL);
SInt8 *data_ptr = (SInt8 *)(THIS->drawABL->mBuffers[0].mData);
}
Run Code Online (Sandbox Code Playgroud)
问题是为什么我们忽略inBL-> mBuffers 1 .mData中的数据?
| 归档时间: |
|
| 查看次数: |
678 次 |
| 最近记录: |