传递给ABReceiverPortReceive的AudioBufferList在使用The Amazing Audio Engine时与clientFormat不匹配

时间:2014-10-13 22:05:59

标签: ios audio core-audio

您好我需要多个输入流来形成audiobus,而我正在使用TAAE框架...

我累了这只是为了测试我是否可以手动发送音频:

AEBlockChannel *channel = [AEBlockChannel channelWithBlock:^(const AudioTimeStamp *time, UInt32 frames, AudioBufferList *audio) { ABReceiverPortReceive(_abreceiverPort, nil, audio, frames, time); }];

我得到“传递给ABReceiverPortReceive的AudioBufferList与clientFormat不匹配”

我该怎么办?我试着理解TAAE如何从源头开始工作,但是我无法理解如何创建正确的AudioBufferList,也许一些小例子会启发我。

我在源AEAllocateAndInitAudioBufferList(rawAudioDescription,kInputAudioBufferFrames)中找到了这个,它是如何创建的。

1 个答案:

答案 0 :(得分:0)

在audiobus论坛上收到 Michael Tyson 的回复。

请阅读http://developer.audiob.us/doc/_receiver-_port.html#Receiving-Separate-Streams

具体来说,请参阅有关ABReceiverPortEndReceiveTimeInterval的部分。