【发布时间】:2013-12-16 11:46:53
【问题描述】:
我正在使用 AVAudioPlayer 播放 mp3 文件。而不是播放整个 mp3,我想指定播放时间范围,比如从 2 秒到 5 秒。如何指定播放时间范围?
【问题讨论】:
-
你为什么投反对票?
标签: ios avfoundation avaudioplayer
我正在使用 AVAudioPlayer 播放 mp3 文件。而不是播放整个 mp3,我想指定播放时间范围,比如从 2 秒到 5 秒。如何指定播放时间范围?
【问题讨论】:
标签: ios avfoundation avaudioplayer
您可以添加一个观察者来播放并在 currentTime 变为您想要的时间时停止它,或者您可以将您的 mp3 文件剪切到指定的时间并播放它。有多种方法可以做到这一点。
【讨论】:
您也许可以使用 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];
}];
【讨论】: