2

我试图通过打开一个音频文件(M4A)来解析字节,在循环中读取 2048 个字节并将其传递给 AudioFileStreamParseBytes。这不会使用属性调用回调kAudioFileStreamProperty_ReadyToProducePackets。但是该属性kAudioFileStreamProperty_FileFormat被成功调用。(所以我知道回调机制正在工作。)

问题

  1. 我可以AudioFileStreamParseBytes通过读取本地文件来解析音频数据吗?大多数示例显示如何AudioFileStreamParseBytes通过解析HTTP流数据来使用,而不是从本地文件中读取。
  2. 有没有人尝试过上述操作并成功处理音频文件?

注意:我不使用AudioFileOpenWithCallbacks打开 m4a 文件的原因是 api 调用在本地下载后无法打开以下文件(http://www.arsenal-music.com/podcast/arsenal-podcast-05. m4a )。此 m4a 文件中嵌入了图像,AudioFileOpenWithCallbacks无法解析该文件。同时,我使用了 Matt GallagherAudioStreamer代码来打开这个文件,解析它并正常播放。所以我倾向于AudioFileStreamerParseBytes通过从本地文件中读取数据来使用。(据我了解,数据是来自 HTTP 流还是来自本地文件应该没有区别。但我可能是错的。)

我在任何 API 调用中都看不到任何错误(以防有人问我这个问题)。如果需要,我可以粘贴代码,但我只想知道从文件读取并将其传递给的方法AudioFileStreamParseBytes是否有效?

4

1 回答 1

0

经过一些测试,我发现可以AudioFileStreamParseBytes用来解析从本地文件读取的字节。数据不必来自 Http 流。

于 2013-01-09T21:05:51.240 回答