[英]An audio stream with notification on positions
我正在開發一個應用程序,它將根據輸入序列生成音頻流(PCM)。 此聲音(音頻流)將從頭到尾播放。 我想要的是在播放生成的聲音時獲得一些有關輸入序列中位置的通知。
例:
我將輸入作為“ ABC”,所生成的聲音對應於字母A的3秒,字母B的2秒和字母C的2秒--->總計7秒(3 + 2 + 2)。 該通知意味着3秒鍾后, 發送了有關“ A發送 ”的事件,2秒鍾后, 發送了有關“ B發送 ”的事件,再過2秒鍾后, 發送了C發送的事件。
是否有經典的方法來做到這一點,或者這是每個問題特有的? (我正在將C / C ++與portaudio框架一起使用)
現在,我要做的唯一方法是在播放器前進到流中時動態生成每個字母的音頻數據。
注意:我知道如何在線程之間和線程間通信中發送異步事件。 我只是想知道是否有經典的方法。
謝謝
當通過音頻設備播放特定事件或經過特定時間時,Portaudio沒有通知您的機制。 如果您需要知道何時有特定數量的數據通過設備,則需要使用Pa_GetStreamTime輪詢設備。
通常,尤其是在低延遲設置下,知道數據已寫入並將要播放就足夠了。 在這種情況下,將執行標准(無鎖)線程間通信。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.