我已成功使用Mat Gallagher的AVAudio播放器播放网络音频流。我修改了它以使Meta Data显示播放歌曲和艺术家。
现在,我添加了一些额外的代码,以允许进入播放器的流写入本地目录中的文件。这一切似乎都很好。如果我播放存储在VLC或网页中的文件,它可以很好地播放音乐。
我也可以将此文件传递给Apple AV音频播放器,它也会播放,尽管随着元数据的流逝会有一些小的“点击”。我可以处理(通过从保存的数据中剥离元数据,但我实际上想要访问它。)
所以问题是,有没有人真正使用过Matt Gallager的音频播放器播放保存的文件?我已经厌倦了将文件作为文件URL传递,希望玩家可以处理它,但显然从文件中读取与从网络流式传输不太一样。 (虽然奇怪的是一个网页可以处理它!)我以这种方式创建URL并希望它能正常工作('downloadAddressString'是一个真正的流URL,或者是指向该文件的指针):
if (!playingFile)
{
self._streamURL = [NSURL URLWithString:downloadAddressString];
} else
{
self._streamURL = [NSURL fileURLWithPath:downloadAddressString];
}
self.streamer = [[[AudioStreamer alloc] initWithURL:self._streamURL] autorelease];
它实际上创建了流光,但后来没有在参考中找到音频文件。
所以我正在寻找一些想法。我真的希望同一个播放器播放这些数据,以便它可以处理嵌入的元数据以及使用相同的接口和控件。如果我使用Apple AVAudioPlayer,我也可以获取Meta数据吗?
此外,来自流的原始http标头被抛出(因为它们在我开始录制之前就已经过了很长时间。)保存的文件是否需要看起来像流,或者我只是抓住吸管?
这对加拉格尔的球员来说是否可能,或者我只是进入一个深洞?提前谢谢。