AVAudioPlayer: come modificare la velocità di riproduzione dell’audio?

Voglio controllare la velocità di riproduzione dell’audio in AVAudioplayer . È ansible? Se sì, come lo faresti?

Ora è ansible modificare la velocità del suono.

Ecco il mio codice di esempio:

 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’ è impostato su ‘YES’ e puoi cambiarlo.

vedere più documenti

Sembra che funzioni per iOS5 – documenti e guarda tasso .

Grazie,

Swift 2.0

È ansible aumentare la velocità in questo modo:

 player.prepareToPlay() player.enableRate = true player.rate = 2.0 player.play() 

Se si desidera eseguire il ciclo, è ansible aggiungere questo:

 player.numberOfLoops = 3 

Non puoi È ansible solo modificare il volume e non la velocità di riproduzione.

Penso che per farlo, dovrai utilizzare le API di coda audio di livello molto inferiore e manipolare manualmente il stream audio per applicare quell’effetto.

Prova questo –

 audioP = try! AVAudioPlayer(contentsOf: URL(fileURLWithPath: selectedPath), fileTypeHint: "caf") audioP.enableRate = true audioP.prepareToPlay() audioP.rate = 1.5 audioP.play() 

AVAudioPlayer non supporta l’impostazione della velocità di riproduzione. I servizi di coda audio sono piuttosto difficili da usare, quindi potresti voler provare OpenAL. Guarda il sound engine di Cocos2D o Finch per esempi su come avvolgere OpenAL in Objective-C.

imposta enableRate = YES e poi puoi regolare la velocità tra 0.1 e 2.0 per rallentare e accelerare (1.0 è la velocità normale)