在iOS中很容易获得加载的.wav文件中的字节数:
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波形文件采样率的任何信息.
解决方法
我找到了使用
AudioStreamBasicDescription的答案.你所要做的就是:
UInt32 getAudioDataSamplingRate( AudioFileID fileId ) { AudioStreamBasicDescription bsd; UInt32 ps = sizeof(AudioStreamBasicDescription) ; if( AudioFileGetProperty(fileId,kAudioFilePropertyDataFormat,&bsd) ) puts( "error retriving af basic description" ); return bsd.mSampleRate ; }