针对 iOS,我想同时播放两个 .caf 音频文件。
我创建了一个简单的 AUGraph,它包含两个“生成器”音频单元(子类型 kAudioUnitSubType_AudioFilePlayer),连接到连接到远程 IO(输出范围)的多通道混音器 AU。
只需将一个 filePlayer AU 连接到混音器,我就可以成功播放其中一个文件。要播放这两个文件,我只需创建另一个 filePlayer AU 实例,并以与第一个 filePlayer 相同的方式对其进行配置。
我正在打开音频文件,然后使用kAudioUnitProperty_ScheduledFileIDs
属性和kAudioUnitProperty_ScheduledFileRegion
属性将它们传递到生成器单元中。
我一直在检查所有 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 单元?