AVAudioPlayer:如何改变音频的播放速度?

时间:2010-02-28 09:37:26

标签: iphone avaudioplayer

我想控制AVAudioplayer中音频的播放速度。这可能吗?如果是这样,你会怎么做?

7 个答案:

答案 0 :(得分:29)

现在可以更改播放速度。

示例代码:

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

中的详情

答案 1 :(得分:7)

看起来适用于iOS5 - docs并查看费率

感谢,

答案 2 :(得分:5)

Swift 2.0

您可以通过以下方式提高费率:

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

如果要循环,可以添加:

player.numberOfLoops = 3

答案 3 :(得分:1)

你做不到。您只能更改音量而不是播放速度。

我认为要这样做,您必须使用更低级别的音频队列 API并手动操作音频流以应用该效果。

答案 4 :(得分:1)

试试这个 -

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

答案 5 :(得分:0)

AVAudioPlayer不支持播放速度设置。音频队列服务非常难以使用,因此您可能需要尝试使用OpenAL。有关如何在Objective-C中包装OpenAL的示例,请参阅Cocos2DFinch中的声音引擎。

答案 6 :(得分:0)

设置enableRate = YES然后你可以调整0.1到2.0之间的速度来减速和加速(1.0是正常速度)