iPhone/iPad 2012/05/12 搞定Audio Unit


1. 总结一下

I/O Unit有两个element(bus),每一个都有input及output两个scope

input element的input scope,直接与mic hardware相连,不用配置

output element的output scope,直接与speaker hardware相连,不用配置

在我的应用中,只需要配置output element的input scope就可以了。


2。过程 

Q:AudioUnitRender是否需要?

发现conferenceinterface.h未include,但居然编译也通过了,奇怪。加入后,结果一样。

staticOSStatus renderCallback(void *inRefCon,AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber,UInt32 inNumberFrames,AudioBufferList *ioData) {


Q: why inNumberFames=186 ? 但ioData.mNumberBuffers=1?

ioData.mBuffers[0].mDataByteSize=744( 744/4=186)

另,renderCallback被呼叫频率是约11ms


ASSERT_OK(AudioUnitSetProperty(audioUnit

                                   kAudioUnitProperty_SetRenderCallback, //

                                   //kAudioOutputUnitProperty_SetInputCallback,  Q: which one is correct ? why ?

                                   kAudioUnitScope_Input, 

                                   0

                                   &callback_struct, 

                                   sizeof(callback_struct)));





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值