定位iOS,我想同时播放两个.caf音频文件。
我创建了一个简单的AUGraph,它包含两个“Generator”音频单元(子类型kAudioUnitSubType_AudioFilePlayer),连接到多通道混音器AU,它连接到远程IO(输出范围)。
只需将一个filePlayer AU连接到调音台,我就可以成功播放其中一个文件。要播放这两个文件,我只是创建另一个filePlayer AU实例,并以与第一个filePlayer相同的方式进行配置。
我打开音频文件,然后使用kAudioUnitProperty_ScheduledFileIDs
属性和kAudioUnitProperty_ScheduledFileRegion
属性将它们传递到Generator单元。
我正在检查所有AU调用的错误,并且没有任何返回错误。当我开始图表时,我得到的只是沉默。
按下“播放”后,这是我图表的快照:
AudioUnitGraph 0xF7DA000:
Member Nodes:
node 1: 'auou' 'rioc' 'appl', instance 0xf18e3e0 O I
node 2: 'aumx' 'mcmx' 'appl', instance 0x9d72f50 O I
node 3: 'augn' 'afpl' 'appl', instance 0x9db6ee0 O I
node 4: 'augn' 'afpl' 'appl', instance 0x9db6fd0 O I
Connections:
node 3 bus 0 => node 2 bus 1 [ 1 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
node 4 bus 0 => node 2 bus 2 [ 1 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
node 2 bus 0 => node 1 bus 0 [ 2 ch, 44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved]
CurrentState:
mLastUpdateError=0, eventsToProcess=F, isRunning=T (3)
使用我缺少的多个filePlayer音频单元是否有细微差别?这是我试图以这种方式做的事情吗?或者我是否需要创建音频缓冲区并手动将它们提供给filePlayer单元?
答案 0 :(得分:0)
你有什么应该工作,但有一些可能已经浮出水面的问题:
您是否将音量参数设置为> 每个总线上的0,以及输出? (输入和输出范围内的kMultiChannelMixerParam_Volume
)。这就是我认为的问题,因为我认为调音台的所有音量均为0。
您是否通过在输入范围设置kAudioUnitProperty_ElementCount
属性将输入总线数设置为2或更多? (注意:由于您使用的是元素1和2,因此您需要将元素数设置为3,或者使用元素0和1代替。)
答案 1 :(得分:0)
不确定你是否曾修复此问题。
在将调音台连接到remoteIO之前,您似乎正在将文件播放器连接到调音台。
始终“向后”连接图表,即从remoteIO开始,然后通过链回到发电机。由于AUGraphs中使用的拉结构,我认为连接前进不起作用