AudioQueue,播放音频当Callback被击中时,

时间:2011-06-08 06:13:59

标签: objective-c macos audioqueue

在我的应用程序中,我将从Socket接收缓冲区,并且需要播放它,App将在大约每50毫秒接收缓冲区,

我的方式如下,

1 - 定义音频格式,如下所示,

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

2 - 创造&分配AudioQueue缓冲区

3 - 入队缓冲区

4 - 启动队列,

现在我的理解是,它应该自动点击回调,当它播放现有缓冲区然后要求新缓冲区,但在我的情况下,它不会自动点击回调,因为当我得到缓冲区时,我是显式调用Callback,这是正确的方法

1 个答案:

答案 0 :(得分:0)

问题是,我是从一个中间线程启动AudioQueue,经过调试我知道,它需要有Main Application线程。 这就是原因,回调不是由它自己调用的。