iphone - slider 在播放音频结束时停止

标签 iphone ios audio avaudioplayer uislider

在我的项目中,我使用 AVAudioPlayer 来播放我保存的音频。我正在显示用于播放音频的 slider 。 slider 的值是使用播放器的当前时间属性设置的。 playSlider.value = avAudioPlayer.currentTime; 这是定时器代码

updateTimer = [NSTimer scheduledTimerWithTimeInterval:.01 target:self selector:@selector(updateCurrentTime) userInfo:p repeats:YES];



//Calls the update current time function 
- (void)updateCurrentTime
{
    [self updateCurrentTimeForPlayer:self.player];
}


//Updates the current time while the audio is playing
-(void)updateCurrentTimeForPlayer:(AVAudioPlayer *)avAudioPlayer
{
    currentTimeLabel.text = [NSString stringWithFormat:@"%d:%02d", (int)avAudioPlayer.currentTime / 60, (int)avAudioPlayer.currentTime % 60, nil];
    playSlider.value = avAudioPlayer.currentTime;

    if (playSlider.value==playSlider.minimumValue) 
    {
        moveToBeginningButton.enabled = NO;
        rewindButton.enabled = NO;
        NSLog(@"PlaySliderMaxValue1 === %f",playSlider.maximumValue);
        NSLog(@"PlaySliderValue1 === %f",playSlider.value);
    }
    else  
    {  
        moveToBeginningButton.enabled = YES;
        rewindButton.enabled = YES; 
        NSLog(@"PlaySliderMaxValue2 === %f",playSlider.maximumValue);
        NSLog(@"PlaySliderValue2 === %f",playSlider.value);

    }
}

slider 的最大值设置如下

playSlider.maximumValue = audioPlayer.duration;

我遇到的问题是播放后 slider 点总是回到音频的开头。这是一个错误吗?我怎样才能改变这个?请提供您的建议。

最佳答案

我不能说这是否是一个错误,但请尝试使用 AVAudioPlayer 的委托(delegate)方法。在 didFinishPlaying 方法中将 Slider 值设置为 maximumValue。这可能是解决方案之一。

关于iphone - slider 在播放音频结束时停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8094140/

相关文章:

ios - 使用 AFNetworking 2 高效下载大量图像(1500+)

javascript - 播放音频 HTML5 功能仅适用于 Chrome

java - 访问 Java 包中的文件 (.wav)

html - 固定背景图像在 iPhone/iPad 上消失

iphone - iOS 顶部横幅通知内容自定义

ios - 使用 UIWebView+AFNetworking 时出现链接

android - Android:音频问题

iphone - 您可以在 iTunes Connect 中自动注册新产品(应用程序内购买)吗?

ios - 您如何判断用户使用的是 iPhone 6 还是 6+

ios - 在 Apple Watch 中显示 iPhone 本地通知