4

在 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 ;

在文档中,我似乎找不到任何关于如何确定 PCM 波形文件的采样率的信息。

4

1 回答 1

6

我使用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 ;
}
于 2012-12-19T01:18:46.977 回答