J'extraire des échantillons d'un fichier audio pour dessiner la forme d'onde - J'ai généré un tableau avec les échantillons (waveDisplayArray dans mon code ci-dessous).Extraction du plus grand élément de mon tableau
Je souhaite extraire la plus grande valeur de cette waveDisplayArray, quelle est la meilleure façon de le faire?
(I initally défini waveDisplayArray comme ceci: int waveDisplayArray [280] = {0};
Je ne suis pas sûr que ce soit la meilleure façon d'aller à ce sujet)
merci à l'avance :)
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]);
}
}
Vous pouvez trier le tableau avec les valeurs en utilisant NSSortDescriptor et prendre la première valeur parmi tous les values.NSSortDescriptor * desc = [[[NSSortDescriptor alloc] initWithKey: @ "nom de fichier" croissant: OUI sélecteur: @ selector (sortByFilenames :)] autorelease]; [myMutableArray sortArrayUsingDescriptors: [NSArray arrayWithObject: desc]]; – shivangi