AVAudioPlayer: How to Change the Playback Speed of Audio?
Now it is possible to change the playback speed.
Sample code:
player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:&err];
player.volume = 0.4f;
player.enableRate = YES; //<--
[player prepareToPlay];
[player setNumberOfLoops:0];
player.rate = 2.0f; //<-- Playback Speed
[player play];
enableRate
is set to YES
and you can change it.
See more in the docs.
Swift 2 - Swift 5
You can increase the rate by doing this:
player.enableRate = true
player.prepareToPlay()
player.rate = 2.0
player.play()
If you want to loop, you can add this:
player.numberOfLoops = 3
Try this -
audioP = try! AVAudioPlayer(contentsOf: URL(fileURLWithPath: selectedPath), fileTypeHint: "caf")
audioP.enableRate = true
audioP.prepareToPlay()
audioP.rate = 1.5
audioP.play()
You can't. You can only change the volume not the speed of playback.
I think to do that, you will have to use the much lower level Audio Queue APIs and manipulate the audio stream manually to apply that effect.