我试图弄清楚如何从音频单元中获取 channel 映射信息,但即使在 AudioUnitGetPropertyInfo 中我也遇到了错误 -50 (kAudio_ParamError)。
我正在使用 Swift,但无法正常工作。
已经处理过这个问题的人有什么想法吗?
func CreateAUGraph(inout player: AUGraphPlayer) {
CheckError(NewAUGraph(&player.graph), operation: "Couldn't create new AuGraph...")
//output component description
var outputcd = AudioComponentDescription()
outputcd.componentType = kAudioUnitType_Output
outputcd.componentSubType = kAudioUnitSubType_DefaultOutput
outputcd.componentManufacturer = kAudioUnitManufacturer_Apple
var outputNode = AUNode()
CheckError(AUGraphAddNode(player.graph, &outputcd, &outputNode),
operation: "AUGraphAddNode[kAudioUnitSubType_DefaultOutput] failed")
AUGraphNodeInfo(player.graph, outputNode, nil, &player.outputAU)
var dataSize = UInt32()
CheckError(
AudioUnitGetPropertyInfo(player.outputAU, kAudioOutputUnitProperty_ChannelMap, kAudioUnitScope_Output, 0, &dataSize, nil)
, operation: "Cannot get size of ch map")
最佳答案
AUGraph 尚未打开,因此 AudioUnitGetPropertyInfo 无法连接到 player.outputAU 对象,因为它尚不存在。
解决这个问题
CheckError(AUGraphOpen(player.graph), operation: "AUGraphOpen failed")
在
之后CheckError(NewAUGraph(&player.graph), operation: "Couldn't create new AuGraph...")
关于swift - AudioUnit GetPropertyInfo 总是返回 -50 作为错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34190863/