0
我想從Linux(ubuntu 14.04)中的多個麥克風讀取數據。我有一個特定的限制,即麥克風的讀數應該通過輪詢(所以沒有等到有數據,儘管數據頻率很高)。我想知道這在Linux中是否可行?不幸的是,音頻捕捉不是我的專長領域,我想知道使用Alsa的選擇是否合適。爲了更好地理解這個問題,這裏是一個僞代碼,我腦子裏想的:使用ALSA [或V4L2]查詢麥克風數據
open_the_audio_device();
set_the_parameters_of_the_audio_device();
while (!done)
{
poll_result=poll_the_devices(); //other non-audio devices are also polled here preferably, something like using select on all different file descriptors of audio, video, socket, etc.
if(poll_success_for_audio_device)
receive_audio_from_the_device_that_has_data();
else
do_some_other_very_fast_stuff_and_start_loop_again();
}
close_the_device();
我的問題是2倍:
- 是艾莎的一個很好的選擇嗎?
- 它可以以某種方式完成一些庫給我一個文件描述符,以便我可以使用它的選擇功能?如果是這樣,這是最佳的,因爲還有其他非音頻設備也與選擇工作。
感謝您的關注。
謝謝你的回答。在select或poll(函數)場景中是否有直觀的例子使用這些函數?我閱讀了描述,並對我需要做的事情有了一個很好的想法。只是想知道是否有一個全雙工的例子,以確保我正朝着正確的方向前進。 – 2014-09-14 00:52:53
一個全雙工用戶將是Jack,但這不是一個直觀的例子。 – 2014-09-14 08:03:38