Nithin
Nithin

Reputation: 6475

fast forwarding a song using AVAudioPlayer

I am creating an audio player application, i need to enable the user to fast forward and backward a song by holding a button(seperately for each). I've done for playing, stopping, skip to next and previous song. But i got stuck with this section. I dont know the method to implement this. pls help.

Upvotes: 7

Views: 6087

Answers (2)

Raghib Arshi
Raghib Arshi

Reputation: 755

In swift 4

for forward

var timeForward = audioPlayer.currentTime
        timeForward += 10.0 // forward 10 secs
        if (timeForward > audioPlayer.duration) {
            audioPlayer.currentTime = timeForward
        } else {
            audioPlayer.currentTime = audioPlayer.duration
        }

for backward

var timeBack = audioPlayer.currentTime
        timeBack -= 10.0 //backward 10 secs
        if (timeBack > 0) {
            audioPlayer.currentTime = timeBack
        } else {
            audioPlayer.currentTime = 0
        }

Hope this will help.

Upvotes: 2

cidered
cidered

Reputation: 3251

Use the currentTime and duration properties.

i.e. to skip forward

NSTimeInterval time = avPlayer.currentTime;
time += 5.0; // forward 5 secs
if (time > avPLayer.duration)
{
    // stop, track skip or whatever you want
}
else
    avPLayer.currentTime = time;

Similar for going backwards, only compare currentTime against 0, instead of duration

Upvotes: 21

Related Questions