我對ALSA聲音庫有疑問。ALSA - 多線程和音頻「獨家訪問」HW
讓我先說明一下,像我這樣的問題的常見回答是「使用JACK」, ,並且那個anwer沒有幫助,因爲我可能無法使用JACK。 我正在Android設備上運行本機linux程序(而不是 NDK,但真的是本地的),並且從我所蒐集的內容來看,JACK不適用於Android,因爲某些libc和posix不兼容。
的問題:
1)我可以使用2個不同的線程,一個)讀取捕獲的樣本和b)採樣回放?我見過的所有ALSA「全雙工」示例只是使用交替讀取/寫入帶有阻塞函數的聲卡,這看起來不是太好,特別是如果您的程序應該做的比這更多。
2)據我所知,ALSA混合不同應用程序播放的音頻,非常像Windows音頻混音器。是否有可能獨佔訪問音頻設備,這樣我的應用程序將保證是唯一一個播放音頻,而不會混淆動態範圍的惡化?
據我所知Android操作系統是負責管理系統的聲音,也沒有辦法直接在非根/非修改設備上訪問ALSA。 – Kristopher
更重要的是,不能保證底層實際上是ALSA。 – marko
你是什麼意思/你能說一說嗎,馬可? – user1847129