我对此很陌生,所以如果我碰巧问清楚这一点,那么就轻松告诉我。
我对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开始的必要步骤。提前谢谢。
答案 0 :(得分:0)
您需要的是用于处理声音的低级API。
尝试OpenAL。一些提示here与resources on GitHub。这个lecture也很有用。
答案 1 :(得分:0)
所以到目前为止,这对我来说还不错:
AVURLAsset *asset = [AVURLAsset assetWithURL:[NSURL URLWithString:myURL]];
playerItem = [[AVPlayerItem alloc] initWithAsset:asset];
audioPlayer = [AVPlayer playerWithPlayerItem:playerItem];
然后我只是使用正常[audioPlayer play]
开始。可能有更多配置,但默认设置符合我的要求。