在ios中给定时间范围内播放音频

时间:2013-12-16 11:46:54

标签: ios avfoundation avaudioplayer

我正在使用AVAudioPlayer播放mp3文件。而不是播放整个mp3,我想指定播放时间范围,例如从2秒到5秒。如何指定播放时间范围?

2 个答案:

答案 0 :(得分:0)

你可以添加一个观察者来播放并在currentTime成为你想要的时间时停止它,或者你可以将你的mp3文件剪切到指定的时间并播放它。有很多方法可以做这件事。

答案 1 :(得分:0)

您可以使用AVPlayer,AVPlayerItem和AVAsset来完成此操作。 AVPlayerItem能够在音频文件中进行搜索。

我还没有测试过,但它可能看起来像这样。

AVAsset *asset = [AVAsset assetWithURL:URL_TO_YOUR_MP3];

AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset];

/* start playback at 2 seconds */
[playerItem seekToTime:CMTimeMake(2.0, 1.0) completionHandler:^(BOOL finished) {

    /* Instantiate player */
    AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem];

    /* Start playback */
    [player play];

    /* Pause player in 3 seconds */
    [player performSelector:@selector(pause) withObject:nil afterDelay:3.0];

}];