Objective c 在iphone 5c上,AUGraphGetNodeInteractions不返回任何交互

Objective c 在iphone 5c上,AUGraphGetNodeInteractions不返回任何交互,objective-c,audiounit,ipad-mini,Objective C,Audiounit,Ipad Mini,我用 在所有设备(iphone 5s、6、6s、7)上,它都返回交互和连接的节点,但在iphone 5c和ipad mini上,它不返回交互(ioNumInteractions=0) 可能是因为32位CPU。 有什么办法解决这个问题吗 卡肖夫(图表): 您应该将ioNumInteractions设置为希望AUGraphGetNodeInteractions返回的最大交互次数。您可以使用AUGraphCountNodeInteractions获取实际计数。然后需要初始化一个足够大的数组来保存结果

我用

在所有设备(iphone 5s、6、6s、7)上,它都返回交互和连接的节点,但在iphone 5c和ipad mini上,它不返回交互(ioNumInteractions=0)

可能是因为32位CPU。 有什么办法解决这个问题吗

卡肖夫(图表):


您应该将ioNumInteractions设置为希望AUGraphGetNodeInteractions返回的最大交互次数。您可以使用AUGraphCountNodeInteractions获取实际计数。然后需要初始化一个足够大的数组来保存结果

下面是一个例子:

Member Nodes:
    node 1: 'augn' 'afpl' 'appl', instance 0x6000000323c0 O I
    node 2: 'auou' 'rioc' 'appl', instance 0x600000032460 O I
  Connections:
    node   1 bus   0 => node   2 bus   0  [ 2 ch,  44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
  CurrentState:
    mLastUpdateError=0, eventsToProcess=F, isInitialized=T, isRunning=T (1)
现在,ioNumInteractions有了一个计数。使用此选项创建将保存交互的数组

UInt32 ioNumInteractions = 0;
AUGraphCountNodeInteractions(graph, node, & ioNumInteractions);
AUNodeInteraction interactions[ioNumInteractions];

AUGraphGetNodeInteractions(graph,
                           node,
                           &ioNumInteractions,
                           interactions);
AUGraphGetNodeInteractions在这里也设置了离子交互。然后遍历交互数组

UInt32 ioNumInteractions = 0;
AUGraphCountNodeInteractions(graph, node, & ioNumInteractions);
AUNodeInteraction interactions[ioNumInteractions];

AUGraphGetNodeInteractions(graph,
                           node,
                           &ioNumInteractions,
                           interactions);
for(int i=0;i

我认为,在5c上,离子相互作用偶然得到的值为0,因此AUGraphGetNodeInteractions返回0个相互作用。AUGraphGetNodeInteractions的本质是,它只返回ioNumInteractions交互,因此如果向它传递一个垃圾值,如2893040(因为您没有初始化ioNumInteractions),它仍将返回它所拥有的一个或两个连接。

您能展示一下如何设置图吗?添加了CAShow(图);我使用kAudioUnitSubType_AudioFilePlayer和kAudioUnitSubType_RemoteIO节点的简单示例。非常感谢,Dave!