【问题标题】:iOS: Fast forward audio when using AudioQueueiOS:使用 AudioQueue 时快进音频
【发布时间】:2013-07-19 20:49:21
【问题描述】:

我正在使用 AudioQueue 播放音频。有谁知道如何控制播放速率,以便在音频输出时快进和快退? AVPlayer 有一个“速率”属性,但是我需要使用 AudioQueue。

我在多媒体编程指南或音频队列服务编程指南中没有找到类似的东西。看起来 Mac OS X 支持 Rocky 提到的 kAudioQueueParam_PlayRate 但这在 iOS 上不起作用

【问题讨论】:

标签: ios objective-c audio audioqueue


【解决方案1】:

kAudioQueueParam_PlayRate 从版本 7 开始适用于 iOS。必须在播放开始之前专门启用它才能正常工作:

        var enabled : UInt32 = 1;
        AudioQueueSetProperty(queue!, kAudioQueueProperty_EnableTimePitch, &enabled, 4);
        var algorithm = kAudioQueueTimePitchAlgorithm_Spectral;
        AudioQueueSetProperty(queue!, kAudioQueueProperty_TimePitchAlgorithm, &algorithm, 4);

然后您可以根据需要改变速率和音调:

            AudioQueueSetParameter(q, kAudioQueueParam_PlayRate, Float32(rate));
            AudioQueueSetParameter(q, kAudioQueueParam_Pitch, Float32(pitch));

(抱歉,Swift 回答了标记为 Objective-c 的问题,但这就是我必须用作示例的内容......)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多