0

我是新手,所以如果我碰巧问明显的问题,请放轻松。

我对 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 开始的必要步骤。提前致谢。

4

2 回答 2

0

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

试试 OpenAL。这里有一些提示,以及GitHub 上的资源。这个讲座也很有用。

于 2013-09-17T15:38:25.150 回答
0

所以到目前为止这对我来说很好:

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

然后后来我只是使用正常[audioPlayer play]启动。有更多可能的配置,但默认值是我想要的。

于 2013-09-20T15:21:56.187 回答