0

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

我正在做的方式如下,

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

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

2 -- 创建和分配 AudioQueue 缓冲区

3 -- 入队缓冲区

4 -- 启动队列,

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

4

1 回答 1

0

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

于 2011-06-10T11:28:18.203 回答