2013-09-30 41 views
1

一直在爲項目做一些研究,並想知道如何將原始數據從我的alsa設備流式傳輸到python/C++/java應用程序。我一直在與alsaaudio,python界面搞混,但只能用麥克風來做到這一點。我希望只是捕獲通過卡(從應用程序,如vlc等)所有數據從python應用程序流式輸出alsa pcm揚聲器輸出

任何人都可以幫助這個?

+0

你究竟在做什麼?你是否還需要將音頻數據播放給揚聲器? –

+0

是的,理想情況下,它將像一個守護進程運行,只是在後臺處理音頻。 – tuck

+0

你的意思是,播放的內容不是原始數據嗎? –

回答

1

有硬件可以將其輸出重新路由回某個捕獲設備,但大多數聲音設備不支持這一點。

你可以加載snd-aloop driver和創建使用multi plugin路由輸出到兩個實際的設備和迴環設備的虛擬設備,但它是有可能,如果他們正在運行的兩臺設備的採樣時鐘將發散太長。

我會建議使用file plugin來創建一個虛擬設備,通過管道將數據複製到您的應用程序。 把類似下面爲/etc/asound.conf或到您的~/.asoundrc

pcm.mydevice { 
    type plug 
    slave.pcm { 
     type file 
     slave.pcm "hw:0,0" # or whatever your actual output device is 
     file "|/some/where/myapplication" 
    } 
} 

,並告訴其他應用程序使用ALSA設備mydevice

相關問題