我试图通过打开一个音频文件(M4A)来解析字节,在循环中读取 2048 个字节并将其传递给 AudioFileStreamParseBytes。这不会使用属性调用回调kAudioFileStreamProperty_ReadyToProducePackets
。但是该属性kAudioFileStreamProperty_FileFormat
被成功调用。(所以我知道回调机制正在工作。)
问题:
- 我可以
AudioFileStreamParseBytes
通过读取本地文件来解析音频数据吗?大多数示例显示如何AudioFileStreamParseBytes
通过解析HTTP
流数据来使用,而不是从本地文件中读取。 - 有没有人尝试过上述操作并成功处理音频文件?
注意:我不使用AudioFileOpenWithCallbacks
打开 m4a 文件的原因是 api 调用在本地下载后无法打开以下文件(http://www.arsenal-music.com/podcast/arsenal-podcast-05. m4a )。此 m4a 文件中嵌入了图像,AudioFileOpenWithCallbacks
无法解析该文件。同时,我使用了 Matt GallagherAudioStreamer
代码来打开这个文件,解析它并正常播放。所以我倾向于AudioFileStreamerParseBytes
通过从本地文件中读取数据来使用。(据我了解,数据是来自 HTTP 流还是来自本地文件应该没有区别。但我可能是错的。)
我在任何 API 调用中都看不到任何错误(以防有人问我这个问题)。如果需要,我可以粘贴代码,但我只想知道从文件读取并将其传递给的方法AudioFileStreamParseBytes
是否有效?