私はまだ BPM を計算する作業コードを探しています。このコードを解決した人はいますか? どんな助けにも感謝します。
これは私が持っているコードで、0 値または間違った値を返します (オンラインの BPM 値と比較して)
-(void) calcBPM {
NSString *path = [[NSBundle mainBundle] pathForResource:@"song_test" ofType:@"mp3"];
NSData *data = [NSData dataWithContentsOfFile:path];
AVAudioPlayer *player =[[AVAudioPlayer alloc] initWithData:data error:NULL];
NSUInteger len = [player.data length];
soundtouch::SAMPLETYPE sampleBuffer[len];
[player.data getBytes:sampleBuffer length:len];
soundtouch::BPMDetect BPM(player.numberOfChannels, [[player.settings valueForKey:@"AVSampleRateKey"] longValue]);
BPM.inputSamples(sampleBuffer, len/player.numberOfChannels);
NSLog(@"Beats Per Minute = %f", BPM.getBpm());
}