【发布时间】:2011-01-21 23:32:39
【问题描述】:
我想控制AVAudioplayer中音频的播放速度。这可能吗?如果是这样,你会怎么做?
【问题讨论】:
-
查看AVAudioplayer的API。
-
看起来它适用于 iOS5 - docs 并查看 rate。谢谢,
标签: iphone avaudioplayer
我想控制AVAudioplayer中音频的播放速度。这可能吗?如果是这样,你会怎么做?
【问题讨论】:
标签: iphone avaudioplayer
现在可以更改播放速度了。
示例代码:
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 设置为YES,您可以更改它。
在docs 中查看更多信息。
【讨论】:
player.enableRate = true
player.prepareToPlay()
player.rate = 2.0
player.play()
player.numberOfLoops = 3
【讨论】:
player.rate = 0.8?
enableRate 应该在调用prepareToPlay() 之前设置。见the docs
试试这个 -
audioP = try! AVAudioPlayer(contentsOf: URL(fileURLWithPath: selectedPath), fileTypeHint: "caf")
audioP.enableRate = true
audioP.prepareToPlay()
audioP.rate = 1.5
audioP.play()
【讨论】:
你不能。您只能更改音量而不是播放速度。
我认为要做到这一点,您将不得不使用更低级别的 Audio Queue API 并手动操作音频流以应用该效果。
【讨论】:
设置 enableRate = YES 然后你可以在 0.1 和 2.0 之间调整速率来减速和加速(1.0 是正常速度)
【讨论】: