来自网址的长mp3在iPhone上加载时间过长

时间:2013-09-17 15:11:32

标签: iphone ios audio web mp3

我对此很陌生,所以如果我碰巧问清楚这一点,那么就轻松告诉我。

我对iPhone编程很新,现在有一个从URL播放mp3文件的任务。情况是:   - 整个过程是在电话间隙和javascript触发,但我相信这不会导致问题,如果我错了请纠正我   - 有问题的mp3通常超过1小时

我尝试过AVAudioPlayer,AVQueuePlayer,AVPlayer和Matt Gallagher的AudioStream。前三个选项适用于短mp3。对于1 1 / 2h mp3我需要2-4分钟才能加载文件。 Matt Gallagher的AudioStream速度更快,但仍需要15秒才能加载,然后开始口吃约20秒,然后继续正常运行。 我的最后一个选择是使用AudioQueue,但我无法让它工作。

建议使用哪种API,以及从NSURL或CFURLref开始的必要步骤。提前谢谢。

2 个答案:

答案 0 :(得分:0)

您需要的是用于处理声音的低级API。

尝试OpenAL。一些提示hereresources on GitHub。这个lecture也很有用。

答案 1 :(得分:0)

所以到目前为止,这对我来说还不错:

AVURLAsset *asset = [AVURLAsset assetWithURL:[NSURL URLWithString:myURL]];
playerItem = [[AVPlayerItem alloc] initWithAsset:asset];
audioPlayer = [AVPlayer playerWithPlayerItem:playerItem];

然后我只是使用正常[audioPlayer play]开始。可能有更多配置,但默认设置符合我的要求。