与渲染回调函数和输入回调函数的区别是什么

时间:2014-12-22 07:34:15

标签: ios callback audiounit

虽然我在互联网上搜索过,但我仍无法找到问题的答案。 我看到有两种回调函数,并且作为音频单元属性的描述,一个叫做inputcallback函数,另一个叫做rendercallback函数。

@constant       kAudioOutputUnitProperty_SetInputCallback
@discussion         Scope: Global
                    Value Type: AURenderCallbackStruct
                    Access: read/write


@constant       kAudioUnitProperty_SetRenderCallback
                    Scope:          Input
                    Value Type:     AURenderCallbackStruct
                    Access:         Write

我不知道这两者之间的区别是什么,何时或哪个我应该选择它们。 如果有人知道,请帮助我。

也许这不是一个困难的问题,但我几天都无法解决。非常感谢你。

2 个答案:

答案 0 :(得分:2)

kAudioOutputUnitProperty_SetInputCallback 当麦克风接收数据时使用,这允许您指定要对该数据执行的操作。在此回调中,您可以写下要放置数据的位置。

kAudioUnitProperty_SetRenderCallback 你会经常看到术语" pull"用这个。当扬声器需要更多数据输出到扬声器时使用。因此,它将提取您在该回调中提供的音频数据。

答案 1 :(得分:0)

我在苹果网站上发现了这句话。

flex:1

了解更多详情: https://developer.apple.com/library/content/technotes/tn2097/_index.html