gpt4 book ai didi

ios - Core Audio (iOS 5.1) Reverb2 属性不存在,错误代码-10877

转载 作者:可可西里 更新时间:2023-11-01 03:56:18 25 4
gpt4 key购买 nike

我正在玩 Apple 的示例项目“LoadPresetDemo”。我已将混响音频单元 AudioUnit kAudioUnitSubType_Reverb2 添加到图中,这是唯一可用的 iOS 混响。在 CoreAudio 头文件“AudioUnitParameters.h”中,它指出 Reverb2 应该响应这些参数:

enum {
// Global, CrossFade, 0->100, 100
kReverb2Param_DryWetMix = 0,
// Global, Decibels, -20->20, 0
kReverb2Param_Gain = 1,
// Global, Secs, 0.0001->1.0, 0.008
kReverb2Param_MinDelayTime = 2,
// Global, Secs, 0.0001->1.0, 0.050
kReverb2Param_MaxDelayTime = 3,
// Global, Secs, 0.001->20.0, 1.0
kReverb2Param_DecayTimeAt0Hz = 4,
// Global, Secs, 0.001->20.0, 0.5
kReverb2Param_DecayTimeAtNyquist = 5,
// Global, Integer, 1->1000
kReverb2Param_RandomizeReflections = 6,
};

AUGraph 初始化并启动后,一切都在编译,我听到了声音。

接下来,我更改 kReverb2Param_DryWetMix 参数(更改为全湿混音):

AudioUnitSetParameter(_reverbUnit, kAudioUnitScope_Global, 0, kReverb2Param_DryWetMix, 100.0f, 0);

很好,我听到了全湿混合混响的声音。

现在听到的是我遇到问题的地方。当尝试更改除 kReverb2Param_DryWetMix 以外的任何参数时,我收到错误代码 -10877。头文件中列出的这些其他参数似乎实际上并不存在。

例如调用

AudioUnitSetParameter(_reverbUnit, kAudioUnitScope_Global, 0, kReverb2Param_DecayTimeAtNyquist, 20.0f, 0)

抛出 -10877 错误。

这是一个错误吗?我是否遗漏了任何音频框架?我没有导入特定的音频 header 吗?

当前包含的音频框架是 AVFoundation 和 AudioToolbox。目前的音频导入是

#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>
#import <CoreAudio/CoreAudioTypes.h>

我已经搜索谷歌没有解决方案。当谷歌路由失败时,我知道我遇到了问题。任何帮助将不胜感激。

注意:我用模拟器和 iPhone 4S 设备测试,同样的问题。

更新:我已经尝试过

AudioUnitGetParameter(_reverbUnit, kReverb2Param_DecayTimeAtNyquist, kAudioUnitScope_Global, 0, &value)

它返回值 0.500000,这意味着该属性确实存在。那么我在设置值时做错了什么?

最佳答案

呸!我意识到我混淆了 AudioUnitSetParameterAudioUnitSetProperty,包括它们的参数。人,狡猾而邪恶。

关于ios - Core Audio (iOS 5.1) Reverb2 属性不存在,错误代码-10877,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11362709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com