iPhone上wav文件头中的Subchunk2ID

发布于 2024-10-17 19:08:23 字数 520 浏览 0 评论 0原文

音频计算世界的优秀人们大家好!

好吧,我已经成功解析了 wav 文件的标头并将样本吐出到数组中。我在 Mac 上使用本文底部中找到的代码完成了此操作。

现在我已经将 C 代码集成到我的 iPhone 设备上,但是当它遇到这段代码时,它会失败:

/* Subchunk2ID */
fread(buf, 1, 4, stdin);
buf[4] = '\0';
if (strcmp((char*)buf, "data")) exit(EXIT_FAILURE);

该文件是使用 SpeakHere 示例项目录制的 wav 格式。我只是将格式从原来的 .caf 更改为 .wav。

core-audio 创建 wav 文件的方式是否有一些特殊之处,使其与常规 wav 文件的解析有所不同?

我该如何解决这个问题?

谢谢!

Hello wonderful people of the audio computing world!

Allright, so I've managed to successfully parse the header of a wav file and spit out the samples into an array. This I did on my Mac using code found at the bottom of this post.

Now I've integrated the C code onto my iPhone device, but it EXITS FAILURE when it hits this piece of code:

/* Subchunk2ID */
fread(buf, 1, 4, stdin);
buf[4] = '\0';
if (strcmp((char*)buf, "data")) exit(EXIT_FAILURE);

The file is in wav format recorded using the SpeakHere example project. I just changed the format from the original .caf to a .wav.

Is there something particular about how core-audio creates a wav file that would make it different to parse from a regular wav file?

How could I solve this problem?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猫七 2024-10-24 19:08:23

您可以使用 AudioFile 来执行此操作,假设您不需要将文件的数据转换为其他格式。你的代码将像这样流动:

AudioFileOpenURL()
AudioFileReadPackets()
AudioFileClose()

You can use AudioFile to do this, assuming you don't need to convert the file's data to a different format. Your code will flow like this:

AudioFileOpenURL()
AudioFileReadPackets()
AudioFileClose()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文