2012-12-19 54 views
4

這是很容易的iOS得到加載的.wav文件的字節數:你如何獲得AudioFileID的採樣率?

UInt64 dataSize = 0; // dataSize 
UInt32 ps = sizeof(UInt64); // property size 
if(AudioFileGetProperty(fileId, kAudioFilePropertyAudioDataByteCount, &ps, &dataSize)) 
    puts("error retriving data chunk size"); 
return dataSize ; 

in the documentation我似乎無法找到關於如何確定一個PCM波形文件的採樣率的任何信息。

回答

5

我使用AudioStreamBasicDescription找到了答案。所有你需要做的是:

UInt32 getAudioDataSamplingRate(AudioFileID fileId) 
{ 
    AudioStreamBasicDescription bsd; 
    UInt32 ps = sizeof(AudioStreamBasicDescription) ; 
    if(AudioFileGetProperty(fileId, 
     kAudioFilePropertyDataFormat, &ps, &bsd)) 
    puts("error retriving af basic description"); 
    return bsd.mSampleRate ; 
}