我在磁盘上有一个 ~1s 单声道 .WAV。我希望我的 OSX(和更高版本的 iOS)应用程序将其读入浮点缓冲区。
实现这一目标的最简单方法是什么?
我在磁盘上有一个 ~1s 单声道 .WAV。我希望我的 OSX(和更高版本的 iOS)应用程序将其读入浮点缓冲区。
实现这一目标的最简单方法是什么?
解决方案是使用 ExtAudioFile()
我发现它正在阅读最优秀的Core-Audio 圣经
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));
}