波形を描画するために、オーディオファイルからサンプルを抽出しています。サンプル(waveDisplayArrayは下のコードにあります)を使用して配列を生成しました。配列から最大の要素を抽出する
このwaveDisplayArrayから最大の値を抽出したい場合、これを行うにはどうすればよいでしょうか?
(私はinitallyこのよう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]);
}
}
あなたはNSSortDescriptorを使用して値およびすべてのvalues.NSSortDescriptorの間で最初の値を取る* DESC = [[[NSSortDescriptorのalloc] initWithKeyで配列をソートすることができます:YES セレクター: "ファイル名" 昇順@ @セレクタ(sortByFilenames :)] autorelease]; [myMutableArray sortArrayUsingDescriptors:[NSArray arrayWithObject:desc]]; – shivangi