Я хочу контролировать скорость воспроизведения звука в AVAudioplayer
. Это возможно? Если да, как бы вы это сделали?
AVAudioPlayer: как изменить скорость воспроизведения аудио?
Ответ 1
Теперь можно изменить скорость звука.
Вот мой пример кода:
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;
[player play];
'enableRate' установлен в 'YES', и вы можете его изменить.
подробнее docs
Ответ 2
Похоже, что он работает для iOS5 - docs и просматривает rate.
спасибо,
Ответ 3
Swift 2.0
Вы можете увеличить скорость, выполнив следующие действия:
player.prepareToPlay()
player.enableRate = true
player.rate = 2.0
player.play()
Если вы хотите выполнить цикл, вы можете добавить это:
player.numberOfLoops = 3
Ответ 4
Вы не можете. Вы можете изменить громкость, а не скорость воспроизведения.
Я думаю, что для этого вам придется использовать гораздо более низкие уровни API-интерфейсов очереди звука и вручную манипулировать аудиопотоком, чтобы применить этот эффект.
Ответ 5
Попробуйте это -
audioP = try! AVAudioPlayer(contentsOf: URL(fileURLWithPath: selectedPath), fileTypeHint: "caf")
audioP.enableRate = true
audioP.prepareToPlay()
audioP.rate = 1.5
audioP.play()
Ответ 6
AVAudioPlayer не поддерживает настройку скорости воспроизведения. Службы очереди аудио довольно больны, поэтому вы можете попробовать OpenAL. См. Звуковой движок Cocos2D или Finch для примеров того, как обернуть OpenAL в Objective-C.