libZPlay documentation (Win32)
libZPlayCpp::zplay_DetectFileBPM Function

Detect beat-per-minute value of specified file. (ANSI version)

__stdcall __declspec(dllimport) int zplay_DetectFileBPM(ZPLAY_HANDLE handle, const char * pchFileName, TStreamFormat nFormat, TBMPDetectionMethod nMethod);
ZPLAY handle. Get this handle with zplay_CreateZPlay
const char * pchFileName 
Pointer to ANSI null terminated string specifying file name. 
TStreamFormat nFormat 
Stream format identifier. Use sfAutodetect if you need to autodetect stream format of specified file. 
TBMPDetectionMethod nMethod 
Detection method. See valid detection methods

BPM value. If algorithm can't detect BPM value, return value is 0.

This function will open temporary stream and detect beat-per-minute. When detection process is done, stream will be closed. 

Note: Detection process can take some time. 

Warning: This function WILL NOT interfere with current playing. 

BPM detection algorithm isn't 100 % accurate. Algorithm will stop when first valid BPM value is detected. If BPM value can't be detected, algorithm will try to search whole stream. If this fails, returned BPM value is 0.

Detect BPM value of specified file using "peak detection" method 

ZPlay C++ Class interface  

// use "peak detection" method to detect BPM value
int BPM = instance->DetectFileBPM("mysong.mp3", sfAutodetect, dmPeaks);

C Style interface

// use "peak detection" method to detect BPM value
int BPM = zplay_DetectBPM("mysong.mp3", sfAutodetect, instance, dmPeaks);
Copyright (c) 2010. Zoran Cindori - All rights reserved.