我正在开发一个应用程序,它将根据输入序列生成音频流 (PCM)。此声音(音频流)将从头到尾播放。我想要的是在播放生成的声音时有一些关于输入序列中位置的通知。
例子:
我的输入为“ABC”,生成的声音对应于字母 A 3 秒,字母 B 2 秒和字母 C 2 秒 ---> 总共 7 秒(3+2+2)。该通知意味着在 3 秒后发送有关“ A 发送”的事件,2 秒后发送有关“ B 发送”的事件,再过 2 秒发送“ C 发送”事件。
有没有这样做的经典方法,或者这对每个问题都是特定的?(我使用 C/C++ 和portaudio框架)
现在,我这样做的唯一方法是在播放器进入流时动态生成每个字母的音频数据。
注意:我知道如何在线程之间发送异步事件和线程间通信。我只是对是否有这样做的经典方法感兴趣。
谢谢