我正在构建音频输出框架,并且将SoundIO用作后端,而不是PortAudio。 PortAudio具有返回的回调方法,可以继续处理或停止流。这使我可以轻松地无缝实现播放/暂停/停止行为。
移动到SoundIO时,回调不会返回任何内容,而且我找不到一种以干净的方式实现此目标的好方法。但是,这使我想到了我对音频流的处理方法是否正确。
我当前正在为播放的音频文件的每个实例创建一个音频流。但是,如果我只创建一个主音频流,并且每个音频文件都只是将它们的缓冲区放在那里,我相信实现上述播放/暂停/停止功能将更容易。
我只是不知道常规应用程序会做什么。他们是为播放的每个音频源制作一个音频流,还是将每个源连接成一个主流?