0

我在磁盘上有一个 ~1s 单声道 .WAV。我希望我的 OSX(和更高版本的 iOS)应用程序将其读入浮点缓冲区。

实现这一目标的最简单方法是什么?

4

2 回答 2

2

解决方案是使用 ExtAudioFile()

我发现它正在阅读最优秀的Core-Audio 圣经

于 2013-06-09T10:53:38.157 回答
1

libsndfile 方式:)

   SF_INFO sfinfo;
   SNDFILE *sf;
   float *buf;
   int err_code;

   sfinfo.format = 0;
   sf = sf_open("/meow.wav", SFM_READ, &sfinfo);
   err_code = sf_error(sf);
   if (err_code == SF_ERR_NO_ERROR) {
      buf = malloc(sfinfo.frames * sfinfo.channels * sizeof(float));
      sf_read(sf, buf, sfinfo.frames * sfinfo.channels);
      printf("Done!\n");
   } else {
      printf("%s\n", sf_error_number(err_code));
   }
于 2013-06-10T02:26:04.227 回答