AudioQueue,播放音频时的回调会被打到,

问题描述:

在我的申请,我将获得从Socket缓冲区,需要发挥它,应用程序将在大约每50毫秒接收缓冲区,AudioQueue,播放音频时的回调会被打到,

的方式我在做什么如下,

1 - 定义音频格式,它是如下面给出的,

FillOutASBDForLPCM (sRecordFormat, 
        16000, 
        1, 
        16, 
        16, 
        false, 
        false 
        ); 

2 - 创建&分配AudioQueue缓冲

3 - 排队缓冲区

4 - 启动队列,

现在,我的理解是,它会自动匹配回调到什么时候发挥它现有的缓冲区,然后要求新的缓冲区,但在我情况下,它没有打自动回调,因为当我得到缓冲区,我打电话明确回调,这是正确的方法

问题是,我从一个中间线程开始AudioQueue和调试后,我才知道它需要具有主应用程序线程。 这是原因,回调不是由它自己调用的。