2015-12-09 6 views
2

Я пытаюсь выяснить, как получить информацию о канальном сопоставлении из audiounit, но даже в AudioUnitGetPropertyInfo я застрял в ошибке -50 (kAudio_ParamError).AudioUnitGetPropertyInfo всегда возвращает -50 как ошибку

Я использую 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") 

ответ

0

AUGraph еще не был открыт, поэтому AudioUnitGetPropertyInfo не мог подключить к объекту player.outputAU, как это было еще не существует.

Разрешение двигаться в этом

CheckError(AUGraphOpen(player.graph), operation: "AUGraphOpen failed") 

вверх после

CheckError(NewAUGraph(&player.graph), operation: "Couldn't create new AuGraph...") 
Смежные вопросы