我有一个奇怪的要求,我希望我的音频播放器在完成音频时暂停。所以我可以将音频向后移动,即使它会完成播放。
对这个要求有什么疯狂的想法吗?
答案 0 :(得分:0)
您需要在界面中定义pausedTime变量。
@interface
NSTimeInterval pausedTime;
AVAudioPlayer *avAudioPlayer;
@end
然后,在实现部分中,您可以使用以下方法来执行暂停和恢复功能。
@implementation
-(void)pauseAudio
{
pausedTime = avAudioPlayer.currentTime;
[avAudioPlayer stop];
}
-(void)resumeAudioPlaying
{
[avAudioPlayer playAtTime:pausedTime];
}
@end
答案 1 :(得分:0)
不是很漂亮,但您可以使用AVAudioPlayerDelegate方法来检测播放声音的时间,然后创建一个新的播放器对象,其搜索位置设置为刚刚结束跟踪然后暂停它。
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWith....];
if ([player prepareToPlay]) {
[player playAtTime:player.duration - 1];
[player pause];
}
}