仅加载 MP3 文件的前 5 秒

Only loading first 5 seconds of a MP3 File

我的服务器上有一个 30 秒长的 MP3 文件。我只想播放前 5 秒作为 "preview"。

目前我正在加载完整的 MP3,然后通过 AVAudioPlayer 播放文件的前 5 秒。我遇到的问题是,如果用户不在 WiFi 网络上,就用户的数据计划而言,这最终会变得昂贵。我想找到一种方法来在发送 x 量(我必须计算)数据后切断文件的下载,但不确定这是否是正确的解决方案。

如有任何建议,我们将不胜感激。

根据这个 post,AVA 不是流式音频的最佳选择:

Streaming with an AVAudioplayer

希望对您有所帮助

如果您想流式传输音频,请尝试 AVPlayer

你可以使用 NStimer:

[NSTimer scheduledTimerWithTimeInterval:numberOfSeconds
    target:self
    selector:@selector(stopAudio)
    userInfo:nil
    repeats:NO];

当您开始流式传输时,只需 fire 计时器并在 stopAudio 方法中在 numberOfSeconds 秒后停止流式传输音频。