Я извлекаю сэмплы из аудиофайла, чтобы нарисовать форму волны - я создал массив с сэмплами (waveDisplayArray в моем коде ниже).
Я хочу извлечь наибольшее значение из этого waveDisplayArray, каков наилучший способ сделать это?
(Я изначально определил waveDisplayArray следующим образом: int waveDisplayArray [280] = {0};
Я не уверен, что это лучший способ сделать это)
спасибо заранее:)
for( int y=0; y<convertedData.mNumberBuffers; y++ )
{
NSLog(@"buffer# %u", y);
AudioBuffer audioBuffer = convertedData.mBuffers[y];
int bufferSize = audioBuffer.mDataByteSize / sizeof(Float32);
Float32 *frame = audioBuffer.mData;
NSLog(@"Buffer Size is: %i", bufferSize);
int numberOfPixels = 280;
int waveDisplayArray[280]={ 0 };
int i;
for (i = 0; i<numberOfPixels; i++)
{
//NSLog(@"i is: %i", i);
int j;
int numberOfSamplesPerPixel = bufferSize/numberOfPixels;
float average = 0;
for (j=i*numberOfSamplesPerPixel; j<(i+1)*numberOfSamplesPerPixel; j++){
average += frame[j];
average = average/numberOfSamplesPerPixel;
}
waveDisplayArray[i] = average;
NSLog(@"Average %i is %f",i,average);
NSLog(@"waveDisplay Array %i: %f",i, waveDisplayArray[i]);
}
}